diff --git a/webpack/index.js b/webpack/index.js index 45f92195..6d07ace1 100644 --- a/webpack/index.js +++ b/webpack/index.js @@ -5,8 +5,8 @@ * @author Feross Aboukhadijeh * @license MIT */ -var r=a(26),i=a(27),n=a(28);function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var a=e.length;if(0===a)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":case void 0:return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return F(e).length;default:if(r)return H(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,a){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,a);case"utf8":case"utf-8":return A(this,t,a);case"ascii":return j(this,t,a);case"latin1":case"binary":return C(this,t,a);case"base64":return S(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,a);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function f(e,t,a){var r=e[t];e[t]=e[a],e[a]=r}function g(e,t,a,r,i){if(0===e.length)return-1;if("string"==typeof a?(r=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),a=+a,isNaN(a)&&(a=i?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(i)return-1;a=e.length-1}else if(a<0){if(!i)return-1;a=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:k(e,t,a,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):k(e,[t],a,r,i);throw new TypeError("val must be string, number or Buffer")}function k(e,t,a,r,i){var n,s=1,o=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,a/=2}function d(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var u=-1;for(n=a;no&&(a=o-l),n=a;n>=0;n--){for(var p=!0,m=0;mi&&(r=i):r=i;var n=t.length;if(n%2!=0)throw new TypeError("Invalid hex string");r>n/2&&(r=n/2);for(var s=0;s>8,i=a%256,n.push(i),n.push(r);return n}(t,e.length-a),e,a,r)}function S(e,t,a){return 0===t&&a===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,a))}function A(e,t,a){a=Math.min(e.length,a);for(var r=[],i=t;i239?4:d>223?3:d>191?2:1;if(i+p<=a)switch(p){case 1:d<128&&(u=d);break;case 2:128==(192&(n=e[i+1]))&&(l=(31&d)<<6|63&n)>127&&(u=l);break;case 3:n=e[i+1],s=e[i+2],128==(192&n)&&128==(192&s)&&(l=(15&d)<<12|(63&n)<<6|63&s)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:n=e[i+1],s=e[i+2],o=e[i+3],128==(192&n)&&128==(192&s)&&128==(192&o)&&(l=(15&d)<<18|(63&n)<<12|(63&s)<<6|63&o)>65535&&l<1114112&&(u=l)}null===u?(u=65533,p=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var a="",r=0;for(;r0&&(e=this.toString("hex",0,a).match(/.{2}/g).join(" "),this.length>a&&(e+=" ... ")),""},l.prototype.compare=function(e,t,a,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||a>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=a)return 0;if(r>=i)return-1;if(t>=a)return 1;if(this===e)return 0;for(var n=(i>>>=0)-(r>>>=0),s=(a>>>=0)-(t>>>=0),o=Math.min(n,s),d=this.slice(r,i),u=e.slice(t,a),p=0;pi)&&(a=i),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var n=!1;;)switch(r){case"hex":return y(this,e,t,a);case"utf8":case"utf-8":return b(this,e,t,a);case"ascii":return w(this,e,t,a);case"latin1":case"binary":return z(this,e,t,a);case"base64":return _(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),n=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function j(e,t,a){var r="";a=Math.min(e.length,a);for(var i=t;ir)&&(a=r);for(var i="",n=t;na)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,a,r,i,n){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function x(e,t,a,r){t<0&&(t=65535+t+1);for(var i=0,n=Math.min(e.length-a,2);i>>8*(r?i:1-i)}function M(e,t,a,r){t<0&&(t=4294967295+t+1);for(var i=0,n=Math.min(e.length-a,4);i>>8*(r?i:3-i)&255}function D(e,t,a,r,i,n){if(a+r>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function $(e,t,a,r,n){return n||D(e,0,a,4),i.write(e,t,a,r,23,4),a+4}function I(e,t,a,r,n){return n||D(e,0,a,8),i.write(e,t,a,r,52,8),a+8}l.prototype.slice=function(e,t){var a,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||E(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||E(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||E(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||E(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||E(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,a){e|=0,t|=0,a||E(e,t,this.length);for(var r=this[e],i=1,n=0;++n=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,a){e|=0,t|=0,a||E(e,t,this.length);for(var r=t,i=1,n=this[e+--r];r>0&&(i*=256);)n+=this[e+--r]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readInt8=function(e,t){return t||E(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||E(e,2,this.length);var a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},l.prototype.readInt16BE=function(e,t){t||E(e,2,this.length);var a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},l.prototype.readInt32LE=function(e,t){return t||E(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||E(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||E(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||E(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||E(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||E(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,a,r){(e=+e,t|=0,a|=0,r)||T(this,e,t,a,Math.pow(2,8*a)-1,0);var i=1,n=0;for(this[t]=255&e;++n=0&&(n*=256);)this[t+i]=e/n&255;return t+a},l.prototype.writeUInt8=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,a,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*a-1);T(this,e,t,a,i-1,-i)}var n=0,s=1,o=0;for(this[t]=255&e;++n>0)-o&255;return t+a},l.prototype.writeIntBE=function(e,t,a,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*a-1);T(this,e,t,a,i-1,-i)}var n=a-1,s=1,o=0;for(this[t+n]=255&e;--n>=0&&(s*=256);)e<0&&0===o&&0!==this[t+n+1]&&(o=1),this[t+n]=(e/s>>0)-o&255;return t+a},l.prototype.writeInt8=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,a){return $(this,e,t,!0,a)},l.prototype.writeFloatBE=function(e,t,a){return $(this,e,t,!1,a)},l.prototype.writeDoubleLE=function(e,t,a){return I(this,e,t,!0,a)},l.prototype.writeDoubleBE=function(e,t,a){return I(this,e,t,!1,a)},l.prototype.copy=function(e,t,a,r){if(a||(a=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+a];else if(n<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(n=t;n55295&&a<57344){if(!i){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&n.push(239,191,189);continue}i=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(t-=3)>-1&&n.push(239,191,189);if(i=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(N,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function R(e,t,a,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+a]=e[i];return i}}).call(this,a(7))},function(e,t,a){"use strict";var r=a(37),i=a(4),n=a(0),s=a(9),o=a(39);function l(e,t,a){var r=this._refs[a];if("string"==typeof r){if(!this._refs[r])return l.call(this,e,t,r);r=this._refs[r]}if((r=r||this._schemas[a])instanceof s)return h(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r);var i,n,o,u=d.call(this,t,a);return u&&(i=u.schema,t=u.root,o=u.baseId),i instanceof s?n=i.validate||e.call(this,i.schema,t,void 0,o):void 0!==i&&(n=h(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,o)),n}function d(e,t){var a=r.parse(t),i=f(a),n=v(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==n){var o=k(i),l=this._refs[o];if("string"==typeof l)return u.call(this,e,l,a);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[o])instanceof s))return;if(l.validate||this._compile(l),o==k(t))return{schema:l,root:e,baseId:n};e=l}if(!e.schema)return;n=v(this._getId(e.schema))}return m.call(this,a,n,e.schema,e)}function u(e,t,a){var r=d.call(this,e,t);if(r){var i=r.schema,n=r.baseId;e=r.root;var s=this._getId(i);return s&&(n=y(n,s)),m.call(this,a,n,i,e)}}e.exports=l,l.normalizeId=k,l.fullPath=v,l.url=y,l.ids=function(e){var t=k(this._getId(e)),a={"":t},s={"":v(t,!1)},l={},d=this;return o(e,{allKeys:!0},(function(e,t,o,u,p,m,c){if(""!==t){var h=d._getId(e),v=a[u],f=s[u]+"/"+p;if(void 0!==c&&(f+="/"+("number"==typeof c?c:n.escapeFragment(c))),"string"==typeof h){h=v=k(v?r.resolve(v,h):h);var g=d._refs[h];if("string"==typeof g&&(g=d._refs[g]),g&&g.schema){if(!i(e,g.schema))throw new Error('id "'+h+'" resolves to more than one schema')}else if(h!=k(f))if("#"==h[0]){if(l[h]&&!i(e,l[h]))throw new Error('id "'+h+'" resolves to more than one schema');l[h]=e}else d._refs[h]=f}a[t]=v,s[t]=f}})),l},l.inlineRef=h,l.schema=d;var p=n.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function m(e,t,a,r){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s(e[t]=a(73)(`./${t}.json`),e[t]=n._composeCapability(t,e[t]),e),{}),i}static getCapability(e){const t=n.getCapabilities()[e];if(!t)throw new Error("invalid_capability");return t}static hasCapability(e){return!!this.getCapabilities()[e]}static _composeCapability(e,t){return t.flow&&console.warn(`Warning: using \`capability.flow\` (${e}), expected a \`capability.$flow\``),t.$flow&&["triggers","conditions","actions"].forEach(a=>{const r=t.$flow[a];Array.isArray(r)&&r.forEach(a=>{Array.isArray(a.args)&&a.args.forEach(e=>{"dropdown"===e.type&&"$values"===e.values&&(e.values=t.values,e.meta=e.meta||{},e.meta.$values=!0)}),Array.isArray(a.tokens)&&a.tokens.forEach(a=>{"$id"===a.name&&(a.name=e),"$type"===a.type&&(a.type=t.type),"$title"===a.title&&(a.title=t.title)})})}),t}static isInstanceOfId(e,t){return t===e||e.startsWith(t+".")}static getBaseId(e){return e.split(".")[0]}}e.exports=n},function(e,t){var a;a=function(){return this}();try{a=a||new Function("return this")()}catch(e){"object"==typeof window&&(a=window)}e.exports=a},function(e,t,a){"use strict";var r=a(36),i=a(3),n=a(40),s=a(9),o=a(10),l=a(41),d=a(42),u=a(63),p=a(0);e.exports=g,g.prototype.validate=function(e,t){var a;if("string"==typeof e){if(!(a=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);a=r.validate||this._compile(r)}var i=a(t);!0!==a.$async&&(this.errors=a.errors);return i},g.prototype.compile=function(e,t){var a=this._addSchema(e,void 0,t);return a.validate||this._compile(a)},g.prototype.addSchema=function(e,t,a,r){if(Array.isArray(e)){for(var n=0;n",k=c?">":"<",y=void 0;if(!m&&"number"!=typeof o&&void 0!==o)throw new Error(t+" must be number");if(!f&&void 0!==v&&"number"!=typeof v&&"boolean"!=typeof v)throw new Error(h+" must be number or boolean");if(f){var b=e.util.getData(v.$data,s,e.dataPathArr),w="exclusive"+n,z="exclType"+n,_="exclIsNumber"+n,P="' + "+(j="op"+n)+" + '";i+=" var schemaExcl"+n+" = "+b+"; ",i+=" var "+w+"; var "+z+" = typeof "+(b="schemaExcl"+n)+"; if ("+z+" != 'boolean' && "+z+" != 'undefined' && "+z+" != 'number') { ";var S;y=h;(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(y||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+h+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var A=i;i=S.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+A+"]); ":i+=" validate.errors = ["+A+"]; return false; ":i+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+z+" == 'number' ? ( ("+w+" = "+r+" === undefined || "+b+" "+g+"= "+r+") ? "+p+" "+k+"= "+b+" : "+p+" "+k+" "+r+" ) : ( ("+w+" = "+b+" === true) ? "+p+" "+k+"= "+r+" : "+p+" "+k+" "+r+" ) || "+p+" !== "+p+") { var op"+n+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===o&&(y=h,d=e.errSchemaPath+"/"+h,r=b,m=f)}else{P=g;if((_="number"==typeof v)&&m){var j="'"+P+"'";i+=" if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" ( "+r+" === undefined || "+v+" "+g+"= "+r+" ? "+p+" "+k+"= "+v+" : "+p+" "+k+" "+r+" ) || "+p+" !== "+p+") { "}else{_&&void 0===o?(w=!0,y=h,d=e.errSchemaPath+"/"+h,r=v,k+="="):(_&&(r=Math[c?"min":"max"](v,o)),v===(!_||r)?(w=!0,y=h,d=e.errSchemaPath+"/"+h,k+="="):(w=!1,P+="="));j="'"+P+"'";i+=" if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+p+" "+k+" "+r+" || "+p+" !== "+p+") { "}}y=y||t,(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(y||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { comparison: "+j+", limit: "+r+", exclusive: "+w+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+P+" ",i+=m?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";A=i;return i=S.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+A+"]); ":i+=" validate.errors = ["+A+"]; return false; ":i+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+p+".length "+("maxItems"==t?">":"<")+" "+r+") { ";var c=t,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=m?"' + "+r+" + '":""+o,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var v=i;return i=h.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");var c="maxLength"==t?">":"<";i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),!1===e.opts.unicode?i+=" "+p+".length ":i+=" ucs2length("+p+") ",i+=" "+c+" "+r+") { ";var h=t,v=v||[];v.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=m?"' + "+r+" + '":""+o,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var f=i;return i=v.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" Object.keys("+p+").length "+("maxProperties"==t?">":"<")+" "+r+") { ";var c=t,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=m?"' + "+r+" + '":""+o,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var v=i;return i=h.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t){var a,r,i=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(e){if(a===setTimeout)return setTimeout(e,0);if((a===n||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}!function(){try{a="function"==typeof setTimeout?setTimeout:n}catch(e){a=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var l,d=[],u=!1,p=-1;function m(){u&&l&&(u=!1,l.length?d=l.concat(d):p=-1,d.length&&c())}function c(){if(!u){var e=o(m);u=!0;for(var t=d.length;t;){for(l=d,d=[];++p1)for(var a=1;a(e[t]=a(244)(`./${t}.json`),e),{}),i}static getClass(e){const t=n.getClasses()[e];if(!t)throw new Error("invalid_class");return t}static getCapabilities(){return r.getCapabilities()}}e.exports=n},function(e,t,a){"use strict";const{validate:r,genericValidator:i,irValidator:n,rfValidator:s,rf433Validator:o,rf868Validator:l,modulationValidator:d,prontoValidator:u}=a(319);e.exports=class{constructor(e,{frequency:t}={}){this._signal=e,this._frequency=t,this._check=this._check.bind(this)}debug(...e){this._debug&&console.log("[dbg]",...e)}_check(e,t){if(!0!==t)throw new Error(e)}async validate({debug:e=!1}={}){if(this._debug=e,this.debug("Validating signal"),!this._signal)throw new Error("Invalid Signal");if("prontohex"===this._signal.type)this._validateProntohex();else{if(void 0!==this._signal.type)throw new Error("Invalid Signal type");this._validateRegular()}if("433"===this._frequency)this._validate433();else if("868"===this._frequency)this._validate868();else{if("ir"!==this._frequency)throw new Error("Invalid Frequency");this._validateInfrared()}this.debug("Validated successfully")}_validateWithEngine(e){return r(e,this._check,this._signal)}_validateProntohex(){this._check("mandatory_fields",this._signal.hasOwnProperty("cmds")),this._validateWithEngine(u)}_validateRegular(){this._check("mandatory_fields",this._signal.hasOwnProperty("sof")||this._signal.hasOwnProperty("eof")||this._signal.hasOwnProperty("words")),this._validateWithEngine(i),this._validateWithEngine(s)}_validate433(){this._validateWithEngine(d),this._validateWithEngine(o)}_validate868(){this._validateWithEngine(d),this._validateWithEngine(l)}_validateInfrared(){this._validateWithEngine(n)}}},function(e,t,a){"use strict";e.exports=class{static getCurrencies(){return a(320)}static getBatteries(){return["LS14250","C","AA","AAA","AAAA","A23","A27","PP3","CR123A","CR2","CR1632","CR2032","CR2430","CR2450","CR2477","CR3032","CR14250","INTERNAL","OTHER"]}}},function(e,t,a){(function(e){function a(e,t){for(var a=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),a++):a&&(e.splice(r,1),a--)}if(t)for(;a--;a)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var a=[],r=0;r=-1&&!i;n--){var s=n>=0?arguments[n]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=a(r(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var n=t.isAbsolute(e),s="/"===i(e,-1);return(e=a(r(e.split("/"),(function(e){return!!e})),!n).join("/"))||n||(e="."),e&&s&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,a){function r(e){for(var t=0;t=0&&""===e[a];a--);return t>a?[]:e.slice(t,a-t+1)}e=t.resolve(e).substr(1),a=t.resolve(a).substr(1);for(var i=r(e.split("/")),n=r(a.split("/")),s=Math.min(i.length,n.length),o=s,l=0;l=1;--n)if(47===(t=e.charCodeAt(n))){if(!i){r=n;break}}else i=!1;return-1===r?a?"/":".":a&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var a=function(e){"string"!=typeof e&&(e+="");var t,a=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){a=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?"":e.slice(a,r)}(e);return t&&a.substr(-1*t.length)===t&&(a=a.substr(0,a.length-t.length)),a},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,a=0,r=-1,i=!0,n=0,s=e.length-1;s>=0;--s){var o=e.charCodeAt(s);if(47!==o)-1===r&&(i=!1,r=s+1),46===o?-1===t?t=s:1!==n&&(n=1):-1!==t&&(n=-1);else if(!i){a=s+1;break}}return-1===t||-1===r||0===n||1===n&&t===r-1&&t===a+1?"":e.slice(t,r)};var i="b"==="ab".substr(-1)?function(e,t,a){return e.substr(t,a)}:function(e,t,a){return t<0&&(t=e.length+t),e.substr(t,a)}}).call(this,a(17))},function(e,t,a){"use strict";var r={bmp:a(323),cur:a(324),dds:a(325),gif:a(326),ico:a(23),jpg:a(327),png:a(328),psd:a(329),svg:a(330),tiff:a(331),webp:a(333)};e.exports=r},function(e,t,a){"use strict";function r(e,t){var a=e.readUInt8(t);return 0===a?256:a}function i(e,t){var a=6+16*t;return{width:r(e,a),height:r(e,a+1)}}e.exports={detect:function(e){return 0===e.readUInt16LE(0)&&1===e.readUInt16LE(2)},calculate:function(e){var t,a=e.readUInt16LE(4),r=i(e,0);if(1===a)return r;for(r.images=[{width:r.width,height:r.height}],t=1;t=12.0.1");const h=async e=>{await n.promises.access(e).then(()=>{if(o.lt(o.coerce(i.compatibility),"12.0.1"))throw new Error(`ESM apps require a compatibility of at least >=12.0.1. (${e})`)}).catch(e=>{if("ENOENT"!==e.code)throw e})},v=w(this._path,"app.mjs"),f=w(this._path,"app.cjs"),k=w(this._path,"api.mjs"),y=w(this._path,"api.cjs");if(await h(v),await h(f),await h(k),await h(y),Array.isArray(i.drivers))for(const e of i.drivers){const t=w(this._path,"drivers",e.id,"driver.mjs"),a=w(this._path,"drivers",e.id,"driver.cjs"),r=w(this._path,"drivers",e.id,"device.mjs"),i=w(this._path,"drivers",e.id,"device.cjs");await h(t),await h(a),await h(r),await h(i)}if(null!=i.widgets){if(o.lt(o.coerce(i.compatibility),"12.1.0"))throw new Error(`App widgets require a compatibility of at least >=12.1.0. (${this._path})`);for(const[e,t]of Object.entries(i.widgets)){const e=w(this._path,"widgets",t.id,"api.mjs"),a=w(this._path,"widgets",t.id,"api.cjs");await h(e),await h(a)}}if(3===i.sdk){const e=o.minVersion(i.compatibility);if(!o.gt(e,"4.2.0"))throw new Error(`Invalid compatibility (${i.compatibility}), SDK version 3 apps must have a compatibility of at least >=5.0.0`)}if((i.platforms||[]).includes("cloud")&&(i.platformLocalRequiredFeatures||[]).length>0)throw new Error("The property `platformLocalRequiredFeatures` can not be used in combination with platform: `cloud`.");if(!1===(i.platforms||[]).includes("local")&&(i.platformLocalRequiredFeatures||[]).length>0&&console.warn("Warning: using `platformLocalRequiredFeatures` requires `platforms: [local]`."),r){if(void 0===i.platforms)throw new Error("The property `platforms` is required in order to publish a verified app.");if(void 0===i.support)throw new Error("The property `support` is required in order to publish a verified app.")}if(Array.isArray(i.permissions)){const e=O.getPermissions();i.permissions.forEach(t=>{if("homey:app:com.athom.homeyscript"===t)throw new Error("Forbidden permission: "+t);if("homey:manager:api"===t&&a&&console.warn("Warning: using the homey:manager:api permission will require a more thorough review. It may take longer than usual to review your app."),"homey:manager:speech-input"===t){if(r)throw new Error(`Unsupported permission: ${t}, please remove any speech input related functionality.`);console.warn("Warning: the homey:manager:speech-input permission is not supported, please remove any speech input related functionality.")}if(!t.startsWith("homey:app:")&&void 0===e[t])throw new Error("Invalid permission: "+t)})}if(i.category){const e=O.getCategories();let t=[];t=Array.isArray(i.category)?i.category:[i.category],t.forEach(t=>{if(!e.includes(t))throw new Error("Invalid category: "+t)})}else if(a)throw new Error("The property `category` is required in order to publish an app.");if(Array.isArray(i.drivers)){const e=d.getClasses(),t=d.getCapabilities();for(let n=0;n{const r=e.split(".")[0],n=void 0!==t[r],l=void 0!==i.capabilities&&void 0!==i.capabilities[r];if(!n&&!l)throw new Error(`drivers.${s.id} invalid capability: ${e}`);if(n&&!l&&t[r].minCompatibility&&o.lt(o.minVersion(i.compatibility),t[r].minCompatibility))throw new Error(`drivers.${s.id} capability: ${r} is not available for compatibility ${i.compatibility}, requires minimum: ${t[r].minCompatibility}`);if(C.includes(r)&&(!s.energy||!Array.isArray(s.energy.batteries))&&a)throw new Error(`drivers.${s.id} is missing an array 'energy.batteries' because the capability ${r} is being used.`)}),Array.isArray(s.pair))for(let e=0;et.id===e))throw new Error(`drivers.${s.id} invalid navigation.prev: ${e}`)}const a=t.navigation.next;if(a){if(!s.pair.find(e=>e.id===a))throw new Error(`drivers.${s.id} invalid navigation.next: ${a}`)}}void 0===t.template&&await this._ensureFileExistsCaseSensitive(w("drivers",s.id,"pair",t.id+".html"))}const l=new Set;if(s.zwave&&Array.isArray(s.settings))for(let e=0;e{if(!e.includes(t))throw new Error(`drivers.${s.id} invalid 'battery': ${t}. Allowed values: ${e.join(", ")}`)})}if(s.connectivity&&s.connectivity.includes("matter")){if(!s.matter)throw new Error(`drivers.${s.id} has 'connectivity': 'matter' and therefore requires a 'matter' object.`);if(s.pair)throw new Error(`drivers.${s.id} invalid 'pair' configuration, Matter drivers do not support custom pairing views.`);if(void 0===s.matter.deviceVendorId&&void 0!==s.matter.deviceProductName||void 0!==s.matter.deviceVendorId&&void 0===s.matter.deviceProductName)throw new Error(`drivers.${s.id} invalid 'matter': 'deviceVendorId' and 'deviceProductName' must be defined together.`);const e=await this._fileExistsCaseSensitive(w("drivers",s.id,"device.js")),t=await this._fileExistsCaseSensitive(w("drivers",s.id,"device.mjs"));if(e||t)throw new Error(`drivers.${s.id}: using a device.${e?"js":"mjs"} file is not supported for Matter drivers.`);const a=await this._fileExistsCaseSensitive(w("drivers",s.id,"driver.js")),r=await this._fileExistsCaseSensitive(w("drivers",s.id,"driver.mjs"));if(a||r)throw new Error(`drivers.${s.id}: using a driver.${a?"js":"mjs"} file is not supported for Matter drivers.`)}if(s.matter&&(!s.connectivity||!s.connectivity.includes("matter")))throw new Error(`drivers.${s.id} Matter drivers require 'connectivity' to include 'matter'.`)}const n=i.drivers.every(e=>e.connectivity&&e.connectivity.includes("matter")),s=i.platformLocalRequiredFeatures&&i.platformLocalRequiredFeatures.includes("matter");n&&!s&&console.warn("Warning: all drivers have connectivity: matter, but matter is not set as a platform required feature."),!n&&s&&console.warn("Warning: matter is set as a platform required feature, but not all drivers have connectivity: matter.")}if(void 0!==i.capabilities)for(const e of Object.keys(i.capabilities)){if(e.includes("."))throw new Error(`Invalid capability: ${e}\nCharacter '.' is reserved for subcapabilities.`);const t=i.capabilities[e],a=new u(t);try{await a.validate()}catch(t){throw new Error(`Invalid capability: ${e}\n${t.message}`)}t.icon&&await this._ensureFileExistsCaseSensitive(t.icon)}if(void 0!==i.signals)for(const e of Object.keys(i.signals))for(const t of Object.keys(i.signals[e])){const a=new p(i.signals[e][t],{frequency:e});try{await a.validate()}catch(a){throw new Error(`Invalid signal: ${e}.${t}\n${a.message}`)}}if(i.flow)for(const e of Object.keys(i.flow)){const t=i.flow[e];if(Array.isArray(t))for(let n=0;ne.id===s.id)!==n){if(i.sdk>=3)throw new Error(`Found multiple Flow card ${e} with the id "${s.id}", all Flow cards should have a unique id.`);console.warn(`Warning: Found multiple Flow card ${e} with the id "${s.id}", all Flow cards should have a unique id.`)}this._validateFlowCard(s,`flow.${e}['${s.id}']`,i,{levelPublish:a,levelVerified:r})}}if(i.discovery)for(const e of Object.keys(i.discovery)){const t=i.discovery[e],{type:a}=t;if(!t[a])throw new Error(`Missing discovery.${e}.${a}`)}if(await this._fileExistsCaseSensitive("locales")){const e=O.getLocales(),t=await this._getDirectoryContents("locales");for(let a=0;a1&&(r/=i);const n="boolean"!=typeof t.zwave.signed||t.zwave.signed,s=Math.pow(2,8*a)/2-1,o=Math.pow(2,8*a)-1;if(n&&r>s)throw new Error(`Value cannot be signed: ${e.id}, ${t.id}. Max value: ${s}, actual value: ${r}`);if(!n&&r>o)throw new Error(`Max value out of bounds: ${e.id}, ${t.id}. Max value: ${o}, actual value: ${r}`)}}}async _getDirectoryContents(e){return await this._fileExistsCaseSensitive(e),e=w(this._path,e),k(e).then(t=>t.map(t=>w(e,t)))}async _ensureFileExistsCaseSensitive(e){if(!0!==await this._fileExistsCaseSensitive(e))throw new Error("Filepath does not exist: "+e)}async _fileExistsCaseSensitive(e){e=w(this._path,e);const t=P(e);try{if(!(await f(t)).isDirectory())return!1;return(await k(t)).indexOf(_(e))>-1}catch(e){return!1}}async _validateImages(e,t,a){const r=["small","large"];for(let i=0;i{const t=new i(e.filter);return"device"===e.type&&(t.has("driver_id")||t.has("driverId"))}),o=e.args.filter(e=>e!==s);if(0!==o.length){if(n)for(const e of o)if(void 0===e.title)throw new Error(`${t}.args['${e.name}'].title is required for arguments in order to publish a verified app.`);if(e.droptoken&&o.push({name:"droptoken"}),void 0===e.titleFormatted){if(n)throw new Error(t+".titleFormatted is required in order to publish a verified app.");console.warn(`Warning: ${t}.titleFormatted is missing. Specifying a Flow card's formatted title will be required in the future.`)}if("string"!=typeof e.titleFormatted){if("object"==typeof e.titleFormatted&&null!==e.titleFormatted)for(const[a,r]of Object.entries(e.titleFormatted))O._checkTitleFormatted(r,o,`${t}.titleFormatted.${a}`);if(e.platforms&&a.platforms){if(e.platforms.includes("local")&&!1===a.platforms.includes("local"))throw new Error(t+" invalid 'platforms': App manifest does not list 'local' as a supported platform.");if(e.platforms.includes("cloud")&&!1===a.platforms.includes("cloud"))throw new Error(t+" invalid 'platforms': App manifest does not list 'cloud' as a supported platform.")}}else O._checkTitleFormatted(e.titleFormatted,o,t+".titleFormatted")}}static _checkTitleFormatted(e,t,a){const r=t.reduce((e,t)=>(e[t.name]=!1,e),{}),i=e.match(/\[\[(.*?)\]\]/gm);if(null===i)throw Error("Missing all args in "+a);i.forEach(e=>{const t=e.substring(2,e.length-2);if(void 0===r[t])throw Error(`Invalid [[${t}]] in ${a}.titleFormatted`);if(!0===r[t])throw Error(`Duplicate [[${t}]] in ${a}.titleFormatted`);!1===r[t]&&(r[t]=!0)});for(const[e,t]of Object.entries(r))if(!1===t)throw Error(`Missing [[${e}]] in ${a}`)}async _readBytes(e,a){e=w(this._path,e);const r=await c(e,"r"),i=t.alloc(a);return await v(r,i,0,a,0),await h(r),i}static isValidId(e){return"string"==typeof e&&(!(e.length<1)&&(!(e.split(".").length<2)&&!!/^[a-zA-Z0-9_.-]*$/g.test(e)))}static isValidBrandColor(e){return l(e).getBrightness()<=184}static getJSONSchema(){const e=a(335);return JSON.parse(JSON.stringify(e))}static getPermissions(){const e=a(336);if("function"==typeof w)for(const t of Object.keys(e)){e[t].icon=w(r,"..","..","assets","app","permissions",t.replace(/:/g,"-")+".svg")}return e}static getCategories(){return["lights","video","music","appliances","security","climate","tools","internet","localization","energy"]}static getLocales(){return["ab","aa","af","ak","sq","am","ar","an","hy","as","av","ae","ay","az","bm","ba","eu","be","bn","bh","bi","bs","br","bg","my","ca","ch","ce","ny","zh","cv","kw","co","cr","hr","cs","da","dv","nl","dz","en","eo","et","ee","fo","fj","fi","fr","ff","gl","ka","de","el","gn","gu","ht","ha","he","hz","hi","ho","hu","ia","id","ie","ga","ig","ik","io","is","it","iu","ja","jv","kl","kn","kr","ks","kk","km","ki","rw","ky","kv","kg","ko","ku","kj","la","lb","lg","li","ln","lo","lt","lu","lv","gv","mk","mg","ms","ml","mt","mi","mr","mh","mn","na","nv","nd","ne","ng","nb","nn","no","ii","nr","oc","oj","cu","om","or","os","pa","pi","fa","pl","ps","pt","qu","rm","rn","ro","ru","sa","sc","sd","se","sm","sg","sr","gd","sn","si","sk","sl","so","st","es","su","sw","ss","sv","ta","te","tg","th","ti","bo","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","cy","wo","fy","xh","yi","yo","za","zu"]}static getBrandColor(e){const a=t.from(e).toString("hex");let r,i=0;do{const e=`${a}${++i}`;let t=l("#"+e.substring(e.length-6));t=l({h:t.toHsv().h,s:.75,l:.5});const n=t.toHexString();this.isValidBrandColor(n)&&(r=n)}while(!r);return r}static errorsText(e,t){return!1===Array.isArray(e)?null:e.reduce((e,a)=>{let r="";const i=new RegExp("drivers\\[(\\d+)\\]"),n=a.dataPath.match(i);if(n){const e=parseInt(n[1],10),r=t.drivers[e];r&&(a.dataPath=a.dataPath.replace(`drivers[${e}]`,`drivers['${r.id}']`))}switch(["triggers","conditions","actions"].forEach(e=>{const r=new RegExp(`flow.${e}\\[(\\d+)\\]`),i=a.dataPath.match(r);if(i){const r=parseInt(i[1],10),n=t.flow[e][r];if(n){a.dataPath=a.dataPath.replace(`flow.${e}[${r}]`,`flow.${e}['${n.id}']`);const t=new RegExp(".args\\[(\\d+)\\]"),i=a.dataPath.match(t);if(i){const e=parseInt(i[1],10),t=n.args[e];t&&(a.dataPath=a.dataPath.replace(`.args[${e}]`,`.args['${t.name}']`))}}}}),a.keyword){case"oneOf":return`${e}manifest${a.dataPath} matched no available schemas, see previous errors\n`;case"enum":r=JSON.stringify(a.params.allowedValues)}return`${e}manifest${a.dataPath} ${a.message} ${r}\n`},"").slice(0,-1)}}e.exports=O}).call(this,a(2).Buffer,"/")},function(e,t,a){"use strict";t.byteLength=function(e){var t=d(e),a=t[0],r=t[1];return 3*(a+r)/4-r},t.toByteArray=function(e){var t,a,r=d(e),s=r[0],o=r[1],l=new n(function(e,t,a){return 3*(t+a)/4-a}(0,s,o)),u=0,p=o>0?s-4:s;for(a=0;a>16&255,l[u++]=t>>8&255,l[u++]=255&t;2===o&&(t=i[e.charCodeAt(a)]<<2|i[e.charCodeAt(a+1)]>>4,l[u++]=255&t);1===o&&(t=i[e.charCodeAt(a)]<<10|i[e.charCodeAt(a+1)]<<4|i[e.charCodeAt(a+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t);return l},t.fromByteArray=function(e){for(var t,a=e.length,i=a%3,n=[],s=0,o=a-i;so?o:s+16383));1===i?(t=e[a-1],n.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[a-2]<<8)+e[a-1],n.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return n.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var a=e.indexOf("=");return-1===a&&(a=t),[a,a===t?0:4-a%4]}function u(e,t,a){for(var i,n,s=[],o=t;o>18&63]+r[n>>12&63]+r[n>>6&63]+r[63&n]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){ +var r=a(26),i=a(27),n=a(28);function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(s()=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function h(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var a=e.length;if(0===a)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return a;case"utf8":case"utf-8":case void 0:return H(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*a;case"hex":return a>>>1;case"base64":return F(e).length;default:if(r)return H(e).length;t=(""+t).toLowerCase(),r=!0}}function v(e,t,a){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===a||a>this.length)&&(a=this.length),a<=0)return"";if((a>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,a);case"utf8":case"utf-8":return A(this,t,a);case"ascii":return j(this,t,a);case"latin1":case"binary":return C(this,t,a);case"base64":return S(this,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,a);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function f(e,t,a){var r=e[t];e[t]=e[a],e[a]=r}function g(e,t,a,r,i){if(0===e.length)return-1;if("string"==typeof a?(r=a,a=0):a>2147483647?a=2147483647:a<-2147483648&&(a=-2147483648),a=+a,isNaN(a)&&(a=i?0:e.length-1),a<0&&(a=e.length+a),a>=e.length){if(i)return-1;a=e.length-1}else if(a<0){if(!i)return-1;a=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:k(e,t,a,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,a):Uint8Array.prototype.lastIndexOf.call(e,t,a):k(e,[t],a,r,i);throw new TypeError("val must be string, number or Buffer")}function k(e,t,a,r,i){var n,s=1,o=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;s=2,o/=2,l/=2,a/=2}function d(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var u=-1;for(n=a;no&&(a=o-l),n=a;n>=0;n--){for(var p=!0,m=0;mi&&(r=i):r=i;var n=t.length;if(n%2!=0)throw new TypeError("Invalid hex string");r>n/2&&(r=n/2);for(var s=0;s>8,i=a%256,n.push(i),n.push(r);return n}(t,e.length-a),e,a,r)}function S(e,t,a){return 0===t&&a===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,a))}function A(e,t,a){a=Math.min(e.length,a);for(var r=[],i=t;i239?4:d>223?3:d>191?2:1;if(i+p<=a)switch(p){case 1:d<128&&(u=d);break;case 2:128==(192&(n=e[i+1]))&&(l=(31&d)<<6|63&n)>127&&(u=l);break;case 3:n=e[i+1],s=e[i+2],128==(192&n)&&128==(192&s)&&(l=(15&d)<<12|(63&n)<<6|63&s)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:n=e[i+1],s=e[i+2],o=e[i+3],128==(192&n)&&128==(192&s)&&128==(192&o)&&(l=(15&d)<<18|(63&n)<<12|(63&s)<<6|63&o)>65535&&l<1114112&&(u=l)}null===u?(u=65533,p=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=p}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);var a="",r=0;for(;r0&&(e=this.toString("hex",0,a).match(/.{2}/g).join(" "),this.length>a&&(e+=" ... ")),""},l.prototype.compare=function(e,t,a,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===a&&(a=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||a>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=a)return 0;if(r>=i)return-1;if(t>=a)return 1;if(this===e)return 0;for(var n=(i>>>=0)-(r>>>=0),s=(a>>>=0)-(t>>>=0),o=Math.min(n,s),d=this.slice(r,i),u=e.slice(t,a),p=0;pi)&&(a=i),e.length>0&&(a<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var n=!1;;)switch(r){case"hex":return y(this,e,t,a);case"utf8":case"utf-8":return b(this,e,t,a);case"ascii":return w(this,e,t,a);case"latin1":case"binary":return z(this,e,t,a);case"base64":return _(this,e,t,a);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,e,t,a);default:if(n)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),n=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function j(e,t,a){var r="";a=Math.min(e.length,a);for(var i=t;ir)&&(a=r);for(var i="",n=t;na)throw new RangeError("Trying to access beyond buffer length")}function T(e,t,a,r,i,n){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function x(e,t,a,r){t<0&&(t=65535+t+1);for(var i=0,n=Math.min(e.length-a,2);i>>8*(r?i:1-i)}function M(e,t,a,r){t<0&&(t=4294967295+t+1);for(var i=0,n=Math.min(e.length-a,4);i>>8*(r?i:3-i)&255}function D(e,t,a,r,i,n){if(a+r>e.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("Index out of range")}function $(e,t,a,r,n){return n||D(e,0,a,4),i.write(e,t,a,r,23,4),a+4}function I(e,t,a,r,n){return n||D(e,0,a,8),i.write(e,t,a,r,52,8),a+8}l.prototype.slice=function(e,t){var a,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||E(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||E(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||E(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||E(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||E(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,a){e|=0,t|=0,a||E(e,t,this.length);for(var r=this[e],i=1,n=0;++n=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,a){e|=0,t|=0,a||E(e,t,this.length);for(var r=t,i=1,n=this[e+--r];r>0&&(i*=256);)n+=this[e+--r]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readInt8=function(e,t){return t||E(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||E(e,2,this.length);var a=this[e]|this[e+1]<<8;return 32768&a?4294901760|a:a},l.prototype.readInt16BE=function(e,t){t||E(e,2,this.length);var a=this[e+1]|this[e]<<8;return 32768&a?4294901760|a:a},l.prototype.readInt32LE=function(e,t){return t||E(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||E(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||E(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||E(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||E(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||E(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,a,r){(e=+e,t|=0,a|=0,r)||T(this,e,t,a,Math.pow(2,8*a)-1,0);var i=1,n=0;for(this[t]=255&e;++n=0&&(n*=256);)this[t+i]=e/n&255;return t+a},l.prototype.writeUInt8=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,a,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*a-1);T(this,e,t,a,i-1,-i)}var n=0,s=1,o=0;for(this[t]=255&e;++n>0)-o&255;return t+a},l.prototype.writeIntBE=function(e,t,a,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*a-1);T(this,e,t,a,i-1,-i)}var n=a-1,s=1,o=0;for(this[t+n]=255&e;--n>=0&&(s*=256);)e<0&&0===o&&0!==this[t+n+1]&&(o=1),this[t+n]=(e/s>>0)-o&255;return t+a},l.prototype.writeInt8=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):x(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):x(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,a){return e=+e,t|=0,a||T(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,a){return $(this,e,t,!0,a)},l.prototype.writeFloatBE=function(e,t,a){return $(this,e,t,!1,a)},l.prototype.writeDoubleLE=function(e,t,a){return I(this,e,t,!0,a)},l.prototype.writeDoubleBE=function(e,t,a){return I(this,e,t,!1,a)},l.prototype.copy=function(e,t,a,r){if(a||(a=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+a];else if(n<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,a=void 0===a?this.length:a>>>0,e||(e=0),"number"==typeof e)for(n=t;n55295&&a<57344){if(!i){if(a>56319){(t-=3)>-1&&n.push(239,191,189);continue}if(s+1===r){(t-=3)>-1&&n.push(239,191,189);continue}i=a;continue}if(a<56320){(t-=3)>-1&&n.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(t-=3)>-1&&n.push(239,191,189);if(i=null,a<128){if((t-=1)<0)break;n.push(a)}else if(a<2048){if((t-=2)<0)break;n.push(a>>6|192,63&a|128)}else if(a<65536){if((t-=3)<0)break;n.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;n.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return n}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(N,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function R(e,t,a,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+a]=e[i];return i}}).call(this,a(7))},function(e,t,a){"use strict";var r=a(37),i=a(4),n=a(0),s=a(9),o=a(39);function l(e,t,a){var r=this._refs[a];if("string"==typeof r){if(!this._refs[r])return l.call(this,e,t,r);r=this._refs[r]}if((r=r||this._schemas[a])instanceof s)return h(r.schema,this._opts.inlineRefs)?r.schema:r.validate||this._compile(r);var i,n,o,u=d.call(this,t,a);return u&&(i=u.schema,t=u.root,o=u.baseId),i instanceof s?n=i.validate||e.call(this,i.schema,t,void 0,o):void 0!==i&&(n=h(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,o)),n}function d(e,t){var a=r.parse(t),i=f(a),n=v(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==n){var o=k(i),l=this._refs[o];if("string"==typeof l)return u.call(this,e,l,a);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[o])instanceof s))return;if(l.validate||this._compile(l),o==k(t))return{schema:l,root:e,baseId:n};e=l}if(!e.schema)return;n=v(this._getId(e.schema))}return m.call(this,a,n,e.schema,e)}function u(e,t,a){var r=d.call(this,e,t);if(r){var i=r.schema,n=r.baseId;e=r.root;var s=this._getId(i);return s&&(n=y(n,s)),m.call(this,a,n,i,e)}}e.exports=l,l.normalizeId=k,l.fullPath=v,l.url=y,l.ids=function(e){var t=k(this._getId(e)),a={"":t},s={"":v(t,!1)},l={},d=this;return o(e,{allKeys:!0},(function(e,t,o,u,p,m,c){if(""!==t){var h=d._getId(e),v=a[u],f=s[u]+"/"+p;if(void 0!==c&&(f+="/"+("number"==typeof c?c:n.escapeFragment(c))),"string"==typeof h){h=v=k(v?r.resolve(v,h):h);var g=d._refs[h];if("string"==typeof g&&(g=d._refs[g]),g&&g.schema){if(!i(e,g.schema))throw new Error('id "'+h+'" resolves to more than one schema')}else if(h!=k(f))if("#"==h[0]){if(l[h]&&!i(e,l[h]))throw new Error('id "'+h+'" resolves to more than one schema');l[h]=e}else d._refs[h]=f}a[t]=v,s[t]=f}})),l},l.inlineRef=h,l.schema=d;var p=n.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function m(e,t,a,r){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s(e[t]=a(73)(`./${t}.json`),e[t]=n._composeCapability(t,e[t]),e),{}),i}static getCapability(e){const t=n.getCapabilities()[e];if(!t)throw new Error("invalid_capability");return t}static hasCapability(e){return!!this.getCapabilities()[e]}static _composeCapability(e,t){return t.flow&&console.warn(`Warning: using \`capability.flow\` (${e}), expected a \`capability.$flow\``),t.$flow&&["triggers","conditions","actions"].forEach(a=>{const r=t.$flow[a];Array.isArray(r)&&r.forEach(a=>{Array.isArray(a.args)&&a.args.forEach(e=>{"dropdown"===e.type&&"$values"===e.values&&(e.values=t.values,e.meta=e.meta||{},e.meta.$values=!0)}),Array.isArray(a.tokens)&&a.tokens.forEach(a=>{"$id"===a.name&&(a.name=e),"$type"===a.type&&(a.type=t.type),"$title"===a.title&&(a.title=t.title)})})}),t}static isInstanceOfId(e,t){return t===e||e.startsWith(t+".")}static getBaseId(e){return e.split(".")[0]}}e.exports=n},function(e,t){var a;a=function(){return this}();try{a=a||new Function("return this")()}catch(e){"object"==typeof window&&(a=window)}e.exports=a},function(e,t,a){"use strict";var r=a(36),i=a(3),n=a(40),s=a(9),o=a(10),l=a(41),d=a(42),u=a(63),p=a(0);e.exports=g,g.prototype.validate=function(e,t){var a;if("string"==typeof e){if(!(a=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var r=this._addSchema(e);a=r.validate||this._compile(r)}var i=a(t);!0!==a.$async&&(this.errors=a.errors);return i},g.prototype.compile=function(e,t){var a=this._addSchema(e,void 0,t);return a.validate||this._compile(a)},g.prototype.addSchema=function(e,t,a,r){if(Array.isArray(e)){for(var n=0;n",k=c?">":"<",y=void 0;if(!m&&"number"!=typeof o&&void 0!==o)throw new Error(t+" must be number");if(!f&&void 0!==v&&"number"!=typeof v&&"boolean"!=typeof v)throw new Error(h+" must be number or boolean");if(f){var b=e.util.getData(v.$data,s,e.dataPathArr),w="exclusive"+n,z="exclType"+n,_="exclIsNumber"+n,P="' + "+(j="op"+n)+" + '";i+=" var schemaExcl"+n+" = "+b+"; ",i+=" var "+w+"; var "+z+" = typeof "+(b="schemaExcl"+n)+"; if ("+z+" != 'boolean' && "+z+" != 'undefined' && "+z+" != 'number') { ";var S;y=h;(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(y||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+h+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var A=i;i=S.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+A+"]); ":i+=" validate.errors = ["+A+"]; return false; ":i+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+z+" == 'number' ? ( ("+w+" = "+r+" === undefined || "+b+" "+g+"= "+r+") ? "+p+" "+k+"= "+b+" : "+p+" "+k+" "+r+" ) : ( ("+w+" = "+b+" === true) ? "+p+" "+k+"= "+r+" : "+p+" "+k+" "+r+" ) || "+p+" !== "+p+") { var op"+n+" = "+w+" ? '"+g+"' : '"+g+"='; ",void 0===o&&(y=h,d=e.errSchemaPath+"/"+h,r=b,m=f)}else{P=g;if((_="number"==typeof v)&&m){var j="'"+P+"'";i+=" if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" ( "+r+" === undefined || "+v+" "+g+"= "+r+" ? "+p+" "+k+"= "+v+" : "+p+" "+k+" "+r+" ) || "+p+" !== "+p+") { "}else{_&&void 0===o?(w=!0,y=h,d=e.errSchemaPath+"/"+h,r=v,k+="="):(_&&(r=Math[c?"min":"max"](v,o)),v===(!_||r)?(w=!0,y=h,d=e.errSchemaPath+"/"+h,k+="="):(w=!1,P+="="));j="'"+P+"'";i+=" if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+p+" "+k+" "+r+" || "+p+" !== "+p+") { "}}y=y||t,(S=S||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(y||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { comparison: "+j+", limit: "+r+", exclusive: "+w+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+P+" ",i+=m?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";A=i;return i=S.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+A+"]); ":i+=" validate.errors = ["+A+"]; return false; ":i+=" var err = "+A+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" "+p+".length "+("maxItems"==t?">":"<")+" "+r+") { ";var c=t,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=m?"' + "+r+" + '":""+o,i+=" items' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var v=i;return i=h.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");var c="maxLength"==t?">":"<";i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),!1===e.opts.unicode?i+=" "+p+".length ":i+=" ucs2length("+p+") ",i+=" "+c+" "+r+") { ";var h=t,v=v||[];v.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(h||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=m?"' + "+r+" + '":""+o,i+=" characters' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var f=i;return i=v.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'number') || "),i+=" Object.keys("+p+").length "+("maxProperties"==t?">":"<")+" "+r+") { ";var c=t,h=h||[];h.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(c||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=m?"' + "+r+" + '":""+o,i+=" properties' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var v=i;return i=h.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+v+"]); ":i+=" validate.errors = ["+v+"]; return false; ":i+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t){var a,r,i=e.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(e){if(a===setTimeout)return setTimeout(e,0);if((a===n||!a)&&setTimeout)return a=setTimeout,setTimeout(e,0);try{return a(e,0)}catch(t){try{return a.call(null,e,0)}catch(t){return a.call(this,e,0)}}}!function(){try{a="function"==typeof setTimeout?setTimeout:n}catch(e){a=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(e){r=s}}();var l,d=[],u=!1,p=-1;function m(){u&&l&&(u=!1,l.length?d=l.concat(d):p=-1,d.length&&c())}function c(){if(!u){var e=o(m);u=!0;for(var t=d.length;t;){for(l=d,d=[];++p1)for(var a=1;a(e[t]=a(244)(`./${t}.json`),e),{}),i}static getClass(e){const t=n.getClasses()[e];if(!t)throw new Error("invalid_class");return t}static getCapabilities(){return r.getCapabilities()}}e.exports=n},function(e,t,a){"use strict";const{validate:r,genericValidator:i,irValidator:n,rfValidator:s,rf433Validator:o,rf868Validator:l,modulationValidator:d,prontoValidator:u}=a(319);e.exports=class{constructor(e,{frequency:t}={}){this._signal=e,this._frequency=t,this._check=this._check.bind(this)}debug(...e){this._debug&&console.log("[dbg]",...e)}_check(e,t){if(!0!==t)throw new Error(e)}async validate({debug:e=!1}={}){if(this._debug=e,this.debug("Validating signal"),!this._signal)throw new Error("Invalid Signal");if("prontohex"===this._signal.type)this._validateProntohex();else{if(void 0!==this._signal.type)throw new Error("Invalid Signal type");this._validateRegular()}if("433"===this._frequency)this._validate433();else if("868"===this._frequency)this._validate868();else{if("ir"!==this._frequency)throw new Error("Invalid Frequency");this._validateInfrared()}this.debug("Validated successfully")}_validateWithEngine(e){return r(e,this._check,this._signal)}_validateProntohex(){this._check("mandatory_fields",this._signal.hasOwnProperty("cmds")),this._validateWithEngine(u)}_validateRegular(){this._check("mandatory_fields",this._signal.hasOwnProperty("sof")||this._signal.hasOwnProperty("eof")||this._signal.hasOwnProperty("words")),this._validateWithEngine(i),this._validateWithEngine(s)}_validate433(){this._validateWithEngine(d),this._validateWithEngine(o)}_validate868(){this._validateWithEngine(d),this._validateWithEngine(l)}_validateInfrared(){this._validateWithEngine(n)}}},function(e,t,a){"use strict";e.exports=class{static getCurrencies(){return a(320)}static getBatteries(){return["LS14250","C","AA","AAA","AAAA","A23","A27","PP3","CR123A","CR2","CR1632","CR2032","CR2430","CR2450","CR2477","CR3032","CR14250","INTERNAL","OTHER"]}}},function(e,t,a){(function(e){function a(e,t){for(var a=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),a++):a&&(e.splice(r,1),a--)}if(t)for(;a--;a)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var a=[],r=0;r=-1&&!i;n--){var s=n>=0?arguments[n]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=a(r(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var n=t.isAbsolute(e),s="/"===i(e,-1);return(e=a(r(e.split("/"),(function(e){return!!e})),!n).join("/"))||n||(e="."),e&&s&&(e+="/"),(n?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(r(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,a){function r(e){for(var t=0;t=0&&""===e[a];a--);return t>a?[]:e.slice(t,a-t+1)}e=t.resolve(e).substr(1),a=t.resolve(a).substr(1);for(var i=r(e.split("/")),n=r(a.split("/")),s=Math.min(i.length,n.length),o=s,l=0;l=1;--n)if(47===(t=e.charCodeAt(n))){if(!i){r=n;break}}else i=!1;return-1===r?a?"/":".":a&&1===r?"/":e.slice(0,r)},t.basename=function(e,t){var a=function(e){"string"!=typeof e&&(e+="");var t,a=0,r=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){a=t+1;break}}else-1===r&&(i=!1,r=t+1);return-1===r?"":e.slice(a,r)}(e);return t&&a.substr(-1*t.length)===t&&(a=a.substr(0,a.length-t.length)),a},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,a=0,r=-1,i=!0,n=0,s=e.length-1;s>=0;--s){var o=e.charCodeAt(s);if(47!==o)-1===r&&(i=!1,r=s+1),46===o?-1===t?t=s:1!==n&&(n=1):-1!==t&&(n=-1);else if(!i){a=s+1;break}}return-1===t||-1===r||0===n||1===n&&t===r-1&&t===a+1?"":e.slice(t,r)};var i="b"==="ab".substr(-1)?function(e,t,a){return e.substr(t,a)}:function(e,t,a){return t<0&&(t=e.length+t),e.substr(t,a)}}).call(this,a(17))},function(e,t,a){"use strict";var r={bmp:a(323),cur:a(324),dds:a(325),gif:a(326),ico:a(23),jpg:a(327),png:a(328),psd:a(329),svg:a(330),tiff:a(331),webp:a(333)};e.exports=r},function(e,t,a){"use strict";function r(e,t){var a=e.readUInt8(t);return 0===a?256:a}function i(e,t){var a=6+16*t;return{width:r(e,a),height:r(e,a+1)}}e.exports={detect:function(e){return 0===e.readUInt16LE(0)&&1===e.readUInt16LE(2)},calculate:function(e){var t,a=e.readUInt16LE(4),r=i(e,0);if(1===a)return r;for(r.images=[{width:r.width,height:r.height}],t=1;t=12.0.1");const h=async e=>{await n.promises.access(e).then(()=>{if(o.lt(o.coerce(i.compatibility),"12.0.1"))throw new Error(`ESM apps require a compatibility of at least >=12.0.1. (${e})`)}).catch(e=>{if("ENOENT"!==e.code)throw e})},v=w(this._path,"app.mjs"),f=w(this._path,"app.cjs"),k=w(this._path,"api.mjs"),y=w(this._path,"api.cjs");if(await h(v),await h(f),await h(k),await h(y),Array.isArray(i.drivers))for(const e of i.drivers){const t=w(this._path,"drivers",e.id,"driver.mjs"),a=w(this._path,"drivers",e.id,"driver.cjs"),r=w(this._path,"drivers",e.id,"device.mjs"),i=w(this._path,"drivers",e.id,"device.cjs");await h(t),await h(a),await h(r),await h(i)}if(null!=i.widgets){if(o.lt(o.coerce(i.compatibility),"12.1.0"))throw new Error(`App widgets require a compatibility of at least >=12.1.0. (${this._path})`);for(const[e,t]of Object.entries(i.widgets)){const e=w(this._path,"widgets",t.id,"api.mjs"),a=w(this._path,"widgets",t.id,"api.cjs");await h(e),await h(a)}}if(3===i.sdk){const e=o.minVersion(i.compatibility);if(!o.gt(e,"4.2.0"))throw new Error(`Invalid compatibility (${i.compatibility}), SDK version 3 apps must have a compatibility of at least >=5.0.0`)}if((i.platforms||[]).includes("cloud")&&(i.platformLocalRequiredFeatures||[]).length>0)throw new Error("The property `platformLocalRequiredFeatures` can not be used in combination with platform: `cloud`.");if(!1===(i.platforms||[]).includes("local")&&(i.platformLocalRequiredFeatures||[]).length>0&&console.warn("Warning: using `platformLocalRequiredFeatures` requires `platforms: [local]`."),r){if(void 0===i.platforms)throw new Error("The property `platforms` is required in order to publish a verified app.");if(void 0===i.support)throw new Error("The property `support` is required in order to publish a verified app.")}if(Array.isArray(i.permissions)){const e=O.getPermissions();i.permissions.forEach(t=>{if("homey:app:com.athom.homeyscript"===t)throw new Error("Forbidden permission: "+t);if("homey:manager:api"===t&&a&&console.warn("Warning: using the homey:manager:api permission will require a more thorough review. It may take longer than usual to review your app."),"homey:manager:speech-input"===t){if(r)throw new Error(`Unsupported permission: ${t}, please remove any speech input related functionality.`);console.warn("Warning: the homey:manager:speech-input permission is not supported, please remove any speech input related functionality.")}if(!t.startsWith("homey:app:")&&void 0===e[t])throw new Error("Invalid permission: "+t)})}if(i.category){const e=O.getCategories();let t=[];t=Array.isArray(i.category)?i.category:[i.category],t.forEach(t=>{if(!e.includes(t))throw new Error("Invalid category: "+t)})}else if(a)throw new Error("The property `category` is required in order to publish an app.");if(Array.isArray(i.drivers)){const e=d.getClasses(),t=d.getCapabilities();for(let n=0;n{const r=e.split(".")[0],n=void 0!==t[r],l=void 0!==i.capabilities&&void 0!==i.capabilities[r];if(!n&&!l)throw new Error(`drivers.${s.id} invalid capability: ${e}`);if(n&&!l&&t[r].minCompatibility&&o.lt(o.minVersion(i.compatibility),t[r].minCompatibility))throw new Error(`drivers.${s.id} capability: ${r} is not available for compatibility ${i.compatibility}, requires minimum: ${t[r].minCompatibility}`);if(C.includes(r)&&(!s.energy||!Array.isArray(s.energy.batteries))&&a)throw new Error(`drivers.${s.id} is missing an array 'energy.batteries' because the capability ${r} is being used.`)}),Array.isArray(s.pair))for(let e=0;et.id===e))throw new Error(`drivers.${s.id} invalid navigation.prev: ${e}`)}const a=t.navigation.next;if(a){if(!s.pair.find(e=>e.id===a))throw new Error(`drivers.${s.id} invalid navigation.next: ${a}`)}}void 0===t.template&&await this._ensureFileExistsCaseSensitive(w("drivers",s.id,"pair",t.id+".html"))}const l=new Set;if(s.zwave&&Array.isArray(s.settings))for(let e=0;e{if(!e.includes(t))throw new Error(`drivers.${s.id} invalid 'battery': ${t}. Allowed values: ${e.join(", ")}`)})}if(!0===s.energy.cumulative){if("string"!=typeof s.energy.cumulativeImportedCapability&&console.warn(`Warning: drivers.${s.id} has energy.cumulative set to true, but is missing 'cumulativeImportedCapability'.`),"string"!=typeof s.energy.cumulativeExportedCapability&&console.warn(`Warning: drivers.${s.id} has energy.cumulative set to true, but is missing 'cumulativeExportedCapability'.`),"string"==typeof s.energy.cumulativeImportedCapability&&!1===u.isInstanceOfId(s.energy.cumulativeImportedCapability,"meter_power"))throw new Error(`drivers.${s.id} has 'cumulativeImportedCapability': '${s.energy.cumulativeImportedCapability}' but only instances of 'meter_power' are allowed.`);if("string"==typeof s.energy.cumulativeExportedCapability&&!1===u.isInstanceOfId(s.energy.cumulativeExportedCapability,"meter_power"))throw new Error(`drivers.${s.id} has 'cumulativeExportedCapability': '${s.energy.cumulativeExportedCapability}' but only instances of 'meter_power' are allowed.`)}}if(s.connectivity&&s.connectivity.includes("matter")){if(!s.matter)throw new Error(`drivers.${s.id} has 'connectivity': 'matter' and therefore requires a 'matter' object.`);if(s.pair)throw new Error(`drivers.${s.id} invalid 'pair' configuration, Matter drivers do not support custom pairing views.`);if(void 0===s.matter.deviceVendorId&&void 0!==s.matter.deviceProductName||void 0!==s.matter.deviceVendorId&&void 0===s.matter.deviceProductName)throw new Error(`drivers.${s.id} invalid 'matter': 'deviceVendorId' and 'deviceProductName' must be defined together.`);const e=await this._fileExistsCaseSensitive(w("drivers",s.id,"device.js")),t=await this._fileExistsCaseSensitive(w("drivers",s.id,"device.mjs"));if(e||t)throw new Error(`drivers.${s.id}: using a device.${e?"js":"mjs"} file is not supported for Matter drivers.`);const a=await this._fileExistsCaseSensitive(w("drivers",s.id,"driver.js")),r=await this._fileExistsCaseSensitive(w("drivers",s.id,"driver.mjs"));if(a||r)throw new Error(`drivers.${s.id}: using a driver.${a?"js":"mjs"} file is not supported for Matter drivers.`)}if(s.matter&&(!s.connectivity||!s.connectivity.includes("matter")))throw new Error(`drivers.${s.id} Matter drivers require 'connectivity' to include 'matter'.`)}const n=i.drivers.every(e=>e.connectivity&&e.connectivity.includes("matter")),s=i.platformLocalRequiredFeatures&&i.platformLocalRequiredFeatures.includes("matter");n&&!s&&console.warn("Warning: all drivers have connectivity: matter, but matter is not set as a platform required feature."),!n&&s&&console.warn("Warning: matter is set as a platform required feature, but not all drivers have connectivity: matter.")}if(void 0!==i.capabilities)for(const e of Object.keys(i.capabilities)){if(e.includes("."))throw new Error(`Invalid capability: ${e}\nCharacter '.' is reserved for subcapabilities.`);const t=i.capabilities[e],a=new u(t);try{await a.validate()}catch(t){throw new Error(`Invalid capability: ${e}\n${t.message}`)}t.icon&&await this._ensureFileExistsCaseSensitive(t.icon)}if(void 0!==i.signals)for(const e of Object.keys(i.signals))for(const t of Object.keys(i.signals[e])){const a=new p(i.signals[e][t],{frequency:e});try{await a.validate()}catch(a){throw new Error(`Invalid signal: ${e}.${t}\n${a.message}`)}}if(i.flow)for(const e of Object.keys(i.flow)){const t=i.flow[e];if(Array.isArray(t))for(let n=0;ne.id===s.id)!==n){if(i.sdk>=3)throw new Error(`Found multiple Flow card ${e} with the id "${s.id}", all Flow cards should have a unique id.`);console.warn(`Warning: Found multiple Flow card ${e} with the id "${s.id}", all Flow cards should have a unique id.`)}this._validateFlowCard(s,`flow.${e}['${s.id}']`,i,{levelPublish:a,levelVerified:r})}}if(i.discovery)for(const e of Object.keys(i.discovery)){const t=i.discovery[e],{type:a}=t;if(!t[a])throw new Error(`Missing discovery.${e}.${a}`)}if(await this._fileExistsCaseSensitive("locales")){const e=O.getLocales(),t=await this._getDirectoryContents("locales");for(let a=0;a1&&(r/=i);const n="boolean"!=typeof t.zwave.signed||t.zwave.signed,s=Math.pow(2,8*a)/2-1,o=Math.pow(2,8*a)-1;if(n&&r>s)throw new Error(`Value cannot be signed: ${e.id}, ${t.id}. Max value: ${s}, actual value: ${r}`);if(!n&&r>o)throw new Error(`Max value out of bounds: ${e.id}, ${t.id}. Max value: ${o}, actual value: ${r}`)}}}async _getDirectoryContents(e){return await this._fileExistsCaseSensitive(e),e=w(this._path,e),k(e).then(t=>t.map(t=>w(e,t)))}async _ensureFileExistsCaseSensitive(e){if(!0!==await this._fileExistsCaseSensitive(e))throw new Error("Filepath does not exist: "+e)}async _fileExistsCaseSensitive(e){e=w(this._path,e);const t=P(e);try{if(!(await f(t)).isDirectory())return!1;return(await k(t)).indexOf(_(e))>-1}catch(e){return!1}}async _validateImages(e,t,a){const r=["small","large"];for(let i=0;i{const t=new i(e.filter);return"device"===e.type&&(t.has("driver_id")||t.has("driverId"))}),o=e.args.filter(e=>e!==s);if(0!==o.length){if(n)for(const e of o)if(void 0===e.title)throw new Error(`${t}.args['${e.name}'].title is required for arguments in order to publish a verified app.`);if(e.droptoken&&o.push({name:"droptoken"}),void 0===e.titleFormatted){if(n)throw new Error(t+".titleFormatted is required in order to publish a verified app.");console.warn(`Warning: ${t}.titleFormatted is missing. Specifying a Flow card's formatted title will be required in the future.`)}if("string"!=typeof e.titleFormatted){if("object"==typeof e.titleFormatted&&null!==e.titleFormatted)for(const[a,r]of Object.entries(e.titleFormatted))O._checkTitleFormatted(r,o,`${t}.titleFormatted.${a}`);if(e.platforms&&a.platforms){if(e.platforms.includes("local")&&!1===a.platforms.includes("local"))throw new Error(t+" invalid 'platforms': App manifest does not list 'local' as a supported platform.");if(e.platforms.includes("cloud")&&!1===a.platforms.includes("cloud"))throw new Error(t+" invalid 'platforms': App manifest does not list 'cloud' as a supported platform.")}}else O._checkTitleFormatted(e.titleFormatted,o,t+".titleFormatted")}}static _checkTitleFormatted(e,t,a){const r=t.reduce((e,t)=>(e[t.name]=!1,e),{}),i=e.match(/\[\[(.*?)\]\]/gm);if(null===i)throw Error("Missing all args in "+a);i.forEach(e=>{const t=e.substring(2,e.length-2);if(void 0===r[t])throw Error(`Invalid [[${t}]] in ${a}.titleFormatted`);if(!0===r[t])throw Error(`Duplicate [[${t}]] in ${a}.titleFormatted`);!1===r[t]&&(r[t]=!0)});for(const[e,t]of Object.entries(r))if(!1===t)throw Error(`Missing [[${e}]] in ${a}`)}async _readBytes(e,a){e=w(this._path,e);const r=await c(e,"r"),i=t.alloc(a);return await v(r,i,0,a,0),await h(r),i}static isValidId(e){return"string"==typeof e&&(!(e.length<1)&&(!(e.split(".").length<2)&&!!/^[a-zA-Z0-9_.-]*$/g.test(e)))}static isValidBrandColor(e){return l(e).getBrightness()<=184}static getJSONSchema(){const e=a(335);return JSON.parse(JSON.stringify(e))}static getPermissions(){const e=a(336);if("function"==typeof w)for(const t of Object.keys(e)){e[t].icon=w(r,"..","..","assets","app","permissions",t.replace(/:/g,"-")+".svg")}return e}static getCategories(){return["lights","video","music","appliances","security","climate","tools","internet","localization","energy"]}static getLocales(){return["ab","aa","af","ak","sq","am","ar","an","hy","as","av","ae","ay","az","bm","ba","eu","be","bn","bh","bi","bs","br","bg","my","ca","ch","ce","ny","zh","cv","kw","co","cr","hr","cs","da","dv","nl","dz","en","eo","et","ee","fo","fj","fi","fr","ff","gl","ka","de","el","gn","gu","ht","ha","he","hz","hi","ho","hu","ia","id","ie","ga","ig","ik","io","is","it","iu","ja","jv","kl","kn","kr","ks","kk","km","ki","rw","ky","kv","kg","ko","ku","kj","la","lb","lg","li","ln","lo","lt","lu","lv","gv","mk","mg","ms","ml","mt","mi","mr","mh","mn","na","nv","nd","ne","ng","nb","nn","no","ii","nr","oc","oj","cu","om","or","os","pa","pi","fa","pl","ps","pt","qu","rm","rn","ro","ru","sa","sc","sd","se","sm","sg","sr","gd","sn","si","sk","sl","so","st","es","su","sw","ss","sv","ta","te","tg","th","ti","bo","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","cy","wo","fy","xh","yi","yo","za","zu"]}static getBrandColor(e){const a=t.from(e).toString("hex");let r,i=0;do{const e=`${a}${++i}`;let t=l("#"+e.substring(e.length-6));t=l({h:t.toHsv().h,s:.75,l:.5});const n=t.toHexString();this.isValidBrandColor(n)&&(r=n)}while(!r);return r}static errorsText(e,t){return!1===Array.isArray(e)?null:e.reduce((e,a)=>{let r="";const i=new RegExp("drivers\\[(\\d+)\\]"),n=a.dataPath.match(i);if(n){const e=parseInt(n[1],10),r=t.drivers[e];r&&(a.dataPath=a.dataPath.replace(`drivers[${e}]`,`drivers['${r.id}']`))}switch(["triggers","conditions","actions"].forEach(e=>{const r=new RegExp(`flow.${e}\\[(\\d+)\\]`),i=a.dataPath.match(r);if(i){const r=parseInt(i[1],10),n=t.flow[e][r];if(n){a.dataPath=a.dataPath.replace(`flow.${e}[${r}]`,`flow.${e}['${n.id}']`);const t=new RegExp(".args\\[(\\d+)\\]"),i=a.dataPath.match(t);if(i){const e=parseInt(i[1],10),t=n.args[e];t&&(a.dataPath=a.dataPath.replace(`.args[${e}]`,`.args['${t.name}']`))}}}}),a.keyword){case"oneOf":return`${e}manifest${a.dataPath} matched no available schemas, see previous errors\n`;case"enum":r=JSON.stringify(a.params.allowedValues)}return`${e}manifest${a.dataPath} ${a.message} ${r}\n`},"").slice(0,-1)}}e.exports=O}).call(this,a(2).Buffer,"/")},function(e,t,a){"use strict";t.byteLength=function(e){var t=d(e),a=t[0],r=t[1];return 3*(a+r)/4-r},t.toByteArray=function(e){var t,a,r=d(e),s=r[0],o=r[1],l=new n(function(e,t,a){return 3*(t+a)/4-a}(0,s,o)),u=0,p=o>0?s-4:s;for(a=0;a>16&255,l[u++]=t>>8&255,l[u++]=255&t;2===o&&(t=i[e.charCodeAt(a)]<<2|i[e.charCodeAt(a+1)]>>4,l[u++]=255&t);1===o&&(t=i[e.charCodeAt(a)]<<10|i[e.charCodeAt(a+1)]<<4|i[e.charCodeAt(a+2)]>>2,l[u++]=t>>8&255,l[u++]=255&t);return l},t.fromByteArray=function(e){for(var t,a=e.length,i=a%3,n=[],s=0,o=a-i;so?o:s+16383));1===i?(t=e[a-1],n.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[a-2]<<8)+e[a-1],n.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return n.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var a=e.indexOf("=");return-1===a&&(a=t),[a,a===t?0:4-a%4]}function u(e,t,a){for(var i,n,s=[],o=t;o>18&63]+r[n>>12&63]+r[n>>6&63]+r[63&n]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ t.read=function(e,t,a,r,i){var n,s,o=8*i-r-1,l=(1<>1,u=-7,p=a?i-1:0,m=a?-1:1,c=e[t+p];for(p+=m,n=c&(1<<-u)-1,c>>=-u,u+=o;u>0;n=256*n+e[t+p],p+=m,u-=8);for(s=n&(1<<-u)-1,n>>=-u,u+=r;u>0;s=256*s+e[t+p],p+=m,u-=8);if(0===n)n=1-d;else{if(n===l)return s?NaN:1/0*(c?-1:1);s+=Math.pow(2,r),n-=d}return(c?-1:1)*s*Math.pow(2,n-r)},t.write=function(e,t,a,r,i,n){var s,o,l,d=8*n-i-1,u=(1<>1,m=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,c=r?0:n-1,h=r?1:-1,v=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(o=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+p>=1?m/l:m*Math.pow(2,1-p))*l>=2&&(s++,l/=2),s+p>=u?(o=0,s=u):s+p>=1?(o=(t*l-1)*Math.pow(2,i),s+=p):(o=t*Math.pow(2,p-1)*Math.pow(2,i),s=0));i>=8;e[a+c]=255&o,c+=h,o/=256,i-=8);for(s=s<0;e[a+c]=255&s,c+=h,s/=256,d-=8);e[a+c-h]|=128*v}},function(e,t){var a={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==a.call(e)}},function(e,t,a){"use strict";var r=a(30),i=a(32);function n(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}t.parse=y,t.resolve=function(e,t){return y(e,!1,!0).resolve(t)},t.resolveObject=function(e,t){return e?y(e,!1,!0).resolveObject(t):t},t.format=function(e){i.isString(e)&&(e=y(e));return e instanceof n?e.format():n.prototype.format.call(e)},t.Url=n;var s=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,d=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(d),p=["%","/","?",";","#"].concat(u),m=["/","?","#"],c=/^[+a-z0-9A-Z_-]{0,63}$/,h=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,v={javascript:!0,"javascript:":!0},f={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=a(33);function y(e,t,a){if(e&&i.isObject(e)&&e instanceof n)return e;var r=new n;return r.parse(e,t,a),r}n.prototype.parse=function(e,t,a){if(!i.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var n=e.indexOf("?"),o=-1!==n&&n127?x+="x":x+=T[M];if(!x.match(c)){var $=L.slice(0,j),I=L.slice(j+1),N=T.match(h);N&&($.push(N[1]),I.unshift(N[2])),I.length&&(y="/"+I.join(".")+y),this.hostname=$.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var V=this.port?":"+this.port:"",H=this.hostname||"";this.host=H+V,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==y[0]&&(y="/"+y))}if(!v[z])for(j=0,E=u.length;j0)&&a.host.split("@"))&&(a.auth=O.shift(),a.host=a.hostname=O.shift());return a.search=e.search,a.query=e.query,i.isNull(a.pathname)&&i.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.href=a.format(),a}if(!_.length)return a.pathname=null,a.search?a.path="/"+a.search:a.path=null,a.href=a.format(),a;for(var S=_.slice(-1)[0],A=(a.host||e.host||_.length>1)&&("."===S||".."===S)||""===S,j=0,C=_.length;C>=0;C--)"."===(S=_[C])?_.splice(C,1):".."===S?(_.splice(C,1),j++):j&&(_.splice(C,1),j--);if(!w&&!z)for(;j--;j)_.unshift("..");!w||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),A&&"/"!==_.join("/").substr(-1)&&_.push("");var O,L=""===_[0]||_[0]&&"/"===_[0].charAt(0);P&&(a.hostname=a.host=L?"":_.length?_.shift():"",(O=!!(a.host&&a.host.indexOf("@")>0)&&a.host.split("@"))&&(a.auth=O.shift(),a.host=a.hostname=O.shift()));return(w=w||a.host&&_.length)&&!L&&_.unshift(""),_.length?a.pathname=_.join("/"):(a.pathname=null,a.path=null),i.isNull(a.pathname)&&i.isNull(a.search)||(a.path=(a.pathname?a.pathname:"")+(a.search?a.search:"")),a.auth=e.auth||a.auth,a.slashes=a.slashes||e.slashes,a.href=a.format(),a},n.prototype.parseHost=function(){var e=this.host,t=o.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},function(e,t,a){(function(e,r){var i;/*! https://mths.be/punycode v1.4.1 by @mathias */!function(n){t&&t.nodeType,e&&e.nodeType;var s="object"==typeof r&&r;s.global!==s&&s.window!==s&&s.self;var o,l=2147483647,d=/^xn--/,u=/[^\x20-\x7E]/,p=/[\x2E\u3002\uFF0E\uFF61]/g,m={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=Math.floor,h=String.fromCharCode;function v(e){throw new RangeError(m[e])}function f(e,t){for(var a=e.length,r=[];a--;)r[a]=t(e[a]);return r}function g(e,t){var a=e.split("@"),r="";return a.length>1&&(r=a[0]+"@",e=a[1]),r+f((e=e.replace(p,".")).split("."),t).join(".")}function k(e){for(var t,a,r=[],i=0,n=e.length;i=55296&&t<=56319&&i65535&&(t+=h((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=h(e)})).join("")}function b(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function w(e,t,a){var r=0;for(e=a?c(e/700):e>>1,e+=c(e/t);e>455;r+=36)e=c(e/35);return c(r+36*e/(e+38))}function z(e){var t,a,r,i,n,s,o,d,u,p,m,h=[],f=e.length,g=0,k=128,b=72;for((a=e.lastIndexOf("-"))<0&&(a=0),r=0;r=128&&v("not-basic"),h.push(e.charCodeAt(r));for(i=a>0?a+1:0;i=f&&v("invalid-input"),((d=(m=e.charCodeAt(i++))-48<10?m-22:m-65<26?m-65:m-97<26?m-97:36)>=36||d>c((l-g)/s))&&v("overflow"),g+=d*s,!(d<(u=o<=b?1:o>=b+26?26:o-b));o+=36)s>c(l/(p=36-u))&&v("overflow"),s*=p;b=w(g-n,t=h.length+1,0==n),c(g/t)>l-k&&v("overflow"),k+=c(g/t),g%=t,h.splice(g++,0,k)}return y(h)}function _(e){var t,a,r,i,n,s,o,d,u,p,m,f,g,y,z,_=[];for(f=(e=k(e)).length,t=128,a=0,n=72,s=0;s=t&&mc((l-a)/(g=r+1))&&v("overflow"),a+=(o-t)*g,t=o,s=0;sl&&v("overflow"),m==t){for(d=a,u=36;!(d<(p=u<=n?1:u>=n+26?26:u-n));u+=36)z=d-p,y=36-p,_.push(h(b(p+z%y,0))),d=c(z/y);_.push(h(b(d,0))),n=w(a,g,r==i),a=0,++r}++a,++t}return _.join("")}o={version:"1.4.1",ucs2:{decode:k,encode:y},decode:z,encode:_,toASCII:function(e){return g(e,(function(e){return u.test(e)?"xn--"+_(e):e}))},toUnicode:function(e){return g(e,(function(e){return d.test(e)?z(e.slice(4).toLowerCase()):e}))}},void 0===(i=function(){return o}.call(t,a,t,e))||(e.exports=i)}()}).call(this,a(31)(e),a(7))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,a){"use strict";e.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},function(e,t,a){"use strict";t.decode=t.parse=a(34),t.encode=t.stringify=a(35)},function(e,t,a){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports=function(e,t,a,n){t=t||"&",a=a||"=";var s={};if("string"!=typeof e||0===e.length)return s;var o=/\+/g;e=e.split(t);var l=1e3;n&&"number"==typeof n.maxKeys&&(l=n.maxKeys);var d=e.length;l>0&&d>l&&(d=l);for(var u=0;u=0?(p=v.substr(0,f),m=v.substr(f+1)):(p=v,m=""),c=decodeURIComponent(p),h=decodeURIComponent(m),r(s,c)?i(s[c])?s[c].push(h):s[c]=[s[c],h]:s[c]=h}return s};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},function(e,t,a){"use strict";var r=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};e.exports=function(e,t,a,o){return t=t||"&",a=a||"=",null===e&&(e=void 0),"object"==typeof e?n(s(e),(function(s){var o=encodeURIComponent(r(s))+a;return i(e[s])?n(e[s],(function(e){return o+encodeURIComponent(r(e))})).join(t):o+encodeURIComponent(r(e[s]))})).join(t):o?encodeURIComponent(r(o))+a+encodeURIComponent(r(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};function n(e,t){if(e.map)return e.map(t);for(var a=[],r=0;r=0?{index:r,compiling:!0}:(r=this._compilations.length,this._compilations[r]={schema:e,root:t,baseId:a},{index:r,compiling:!1})}function m(e,t,a){var r=c.call(this,e,t,a);r>=0&&this._compilations.splice(r,1)}function c(e,t,a){for(var r=0;r1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,v=String.fromCharCode;function f(e){throw new RangeError(c[e])}function g(e,t){var a=e.split("@"),r="";a.length>1&&(r=a[0]+"@",e=a[1]);var i=function(e,t){for(var a=[],r=e.length;r--;)a[r]=t(e[r]);return a}((e=e.replace(m,".")).split("."),t).join(".");return r+i}function k(e){for(var t=[],a=0,r=e.length;a=55296&&i<=56319&&a>1,e+=h(e/t);e>455;r+=36)e=h(e/35);return h(r+36*e/(e+38))},w=function(e){var t,a=[],r=e.length,i=0,n=128,s=72,o=e.lastIndexOf("-");o<0&&(o=0);for(var l=0;l=128&&f("not-basic"),a.push(e.charCodeAt(l));for(var u=o>0?o+1:0;u=r&&f("invalid-input");var v=(t=e.charCodeAt(u++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(v>=36||v>h((d-i)/m))&&f("overflow"),i+=v*m;var g=c<=s?1:c>=s+26?26:c-s;if(vh(d/k)&&f("overflow"),m*=k}var y=a.length+1;s=b(i-p,y,0==p),h(i/y)>d-n&&f("overflow"),n+=h(i/y),i%=y,a.splice(i++,0,n)}return String.fromCodePoint.apply(String,a)},z=function(e){var t=[],a=(e=k(e)).length,r=128,i=0,n=72,s=!0,o=!1,l=void 0;try{for(var u,p=e[Symbol.iterator]();!(s=(u=p.next()).done);s=!0){var m=u.value;m<128&&t.push(v(m))}}catch(e){o=!0,l=e}finally{try{!s&&p.return&&p.return()}finally{if(o)throw l}}var c=t.length,g=c;for(c&&t.push("-");g=r&&jh((d-i)/C)&&f("overflow"),i+=(w-r)*C,r=w;var O=!0,L=!1,E=void 0;try{for(var T,x=e[Symbol.iterator]();!(O=(T=x.next()).done);O=!0){var M=T.value;if(Md&&f("overflow"),M==r){for(var D=i,$=36;;$+=36){var I=$<=n?1:$>=n+26?26:$-n;if(D>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function j(e){for(var t="",a=0,r=e.length;a=194&&i<224){if(r-a>=6){var n=parseInt(e.substr(a+4,2),16);t+=String.fromCharCode((31&i)<<6|63&n)}else t+=e.substr(a,6);a+=6}else if(i>=224){if(r-a>=9){var s=parseInt(e.substr(a+4,2),16),o=parseInt(e.substr(a+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&o)}else t+=e.substr(a,9);a+=9}else t+=e.substr(a,3),a+=3}return t}function C(e,t){function a(e){var a=j(e);return a.match(t.UNRESERVED)?a:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,a).replace(t.NOT_USERINFO,A).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_HOST,A).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,a).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,A).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,a).replace(t.NOT_QUERY,A).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,a).replace(t.NOT_FRAGMENT,A).replace(t.PCT_ENCODED,i)),e}function O(e){return e.replace(/^0*(.*)/,"$1")||"0"}function L(e,t){var a=e.match(t.IPV4ADDRESS)||[],r=l(a,2)[1];return r?r.split(".").map(O).join("."):e}function E(e,t){var a=e.match(t.IPV6ADDRESS)||[],r=l(a,3),i=r[1],n=r[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),o=l(s,2),d=o[0],u=o[1],p=u?u.split(":").map(O):[],m=d.split(":").map(O),c=t.IPV4ADDRESS.test(m[m.length-1]),h=c?7:8,v=m.length-h,f=Array(h),g=0;g1){var b=f.slice(0,k.index),w=f.slice(k.index+k.length);y=b.join(":")+"::"+w.join(":")}else y=f.join(":");return n&&(y+="%"+n),y}return e}var T=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,x=void 0==="".match(/(){0}/)[1];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a={},r=!1!==t.iri?o:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(T);if(i){x?(a.scheme=i[1],a.userinfo=i[3],a.host=i[4],a.port=parseInt(i[5],10),a.path=i[6]||"",a.query=i[7],a.fragment=i[8],isNaN(a.port)&&(a.port=i[5])):(a.scheme=i[1]||void 0,a.userinfo=-1!==e.indexOf("@")?i[3]:void 0,a.host=-1!==e.indexOf("//")?i[4]:void 0,a.port=parseInt(i[5],10),a.path=i[6]||"",a.query=-1!==e.indexOf("?")?i[7]:void 0,a.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(a.port)&&(a.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),a.host&&(a.host=E(L(a.host,r),r)),void 0!==a.scheme||void 0!==a.userinfo||void 0!==a.host||void 0!==a.port||a.path||void 0!==a.query?void 0===a.scheme?a.reference="relative":void 0===a.fragment?a.reference="absolute":a.reference="uri":a.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==a.reference&&(a.error=a.error||"URI is not a "+t.reference+" reference.");var n=S[(t.scheme||a.scheme||"").toLowerCase()];if(t.unicodeSupport||n&&n.unicodeSupport)C(a,r);else{if(a.host&&(t.domainHost||n&&n.domainHost))try{a.host=_(a.host.replace(r.PCT_ENCODED,j).toLowerCase())}catch(e){a.error=a.error||"Host's domain name can not be converted to ASCII via punycode: "+e}C(a,s)}n&&n.parse&&n.parse(a,t)}else a.error=a.error||"URI can not be parsed.";return a}function D(e,t){var a=!1!==t.iri?o:s,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(E(L(String(e.host),a),a).replace(a.IPV6ADDRESS,(function(e,t,a){return"["+t+(a?"%25"+a:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var $=/^\.\.?\//,I=/^\/\.(\/|$)/,N=/^\/\.\.(\/|$)/,V=/^\/?(?:.|\n)*?(?=\/|$)/;function H(e){for(var t=[];e.length;)if(e.match($))e=e.replace($,"");else if(e.match(I))e=e.replace(I,"/");else if(e.match(N))e=e.replace(N,"/"),t.pop();else if("."===e||".."===e)e="";else{var a=e.match(V);if(!a)throw new Error("Unexpected dot segment condition");var r=a[0];e=e.slice(r.length),t.push(r)}return t.join("")}function F(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.iri?o:s,r=[],i=S[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(a.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?P(e.host):_(e.host.replace(a.PCT_ENCODED,j).toLowerCase())}catch(a){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+a}C(e,a),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var n=D(e,t);if(void 0!==n&&("suffix"!==t.reference&&r.push("//"),r.push(n),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var l=e.path;t.absolutePath||i&&i.absolutePath||(l=H(l)),void 0===n&&(l=l.replace(/^\/\//,"/%2F")),r.push(l)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function R(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i={};return r||(e=M(F(e,a),a),t=M(F(t,a),a)),!(a=a||{}).tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=H(t.path||""),i.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=H(t.path||""),i.query=t.query):(t.path?("/"===t.path.charAt(0)?i.path=H(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path:i.path="/"+t.path,i.path=H(i.path)),i.query=t.query):(i.path=e.path,void 0!==t.query?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function U(e,t){return e&&e.toString().replace(t&&t.iri?o.PCT_ENCODED:s.PCT_ENCODED,j)}var B={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var a="https"===String(e.scheme).toLowerCase();return e.port!==(a?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},q={scheme:"https",domainHost:B.domainHost,parse:B.parse,serialize:B.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var G={scheme:"ws",domainHost:!0,parse:function(e,t){var a=e;return a.secure=K(a),a.resourceName=(a.path||"/")+(a.query?"?"+a.query:""),a.path=void 0,a.query=void 0,a},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var a=e.resourceName.split("?"),r=l(a,2),i=r[0],n=r[1];e.path=i&&"/"!==i?i:void 0,e.query=n,e.resourceName=void 0}return e.fragment=void 0,e}},W={scheme:"wss",domainHost:G.domainHost,parse:G.parse,serialize:G.serialize},J={},Z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",Y=a(a("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+a("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+a("%"+Q+Q)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),ee=new RegExp(Z,"g"),te=new RegExp(Y,"g"),ae=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),re=new RegExp(t("[^]",Z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),ie=re;function ne(e){var t=j(e);return t.match(ee)?t:e}var se={scheme:"mailto",parse:function(e,t){var a=e,r=a.to=a.path?a.path.split(","):[];if(a.path=void 0,a.query){for(var i=!1,n={},s=a.query.split("&"),o=0,l=s.length;o=55296&&t<=56319&&i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,p=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,m=/^(?:\/(?:[^~/]|~0|~1)*)*$/,c=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,h=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function v(e){return e="full"==e?"full":"fast",r.copy(v[e])}function f(e){var t=e.match(i);if(!t)return!1;var a=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(a)?29:n[r])}function g(e,t){var a=e.match(s);if(!a)return!1;var r=a[1],i=a[2],n=a[3],o=a[5];return(r<=23&&i<=59&&n<=59||23==r&&59==i&&60==n)&&(!t||o)}e.exports=v,v.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":d,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:p,"json-pointer":m,"json-pointer-uri-fragment":c,"relative-json-pointer":h},v.full={date:f,time:g,"date-time":function(e){var t=e.split(k);return 2==t.length&&f(t[0])&&g(t[1],!0)},uri:function(e){return y.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":d,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:p,"json-pointer":m,"json-pointer-uri-fragment":c,"relative-json-pointer":h};var k=/t|\s/i;var y=/\/|:/;var b=/[^\\]\\Z/;function w(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,a){"use strict";var r=a(43),i=a(0).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(a){a.rules=a.rules.map((function(a){var i;if("object"==typeof a){var n=Object.keys(a)[0];i=a[n],a=n,i.forEach((function(a){t.push(a),e.all[a]=!0}))}return t.push(a),e.all[a]={keyword:a,code:r[a],implements:i}})),e.all.$comment={keyword:"$comment",code:r.$comment},a.type&&(e.types[a.type]=a)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,a){"use strict";e.exports={$ref:a(44),allOf:a(45),anyOf:a(46),$comment:a(47),const:a(48),contains:a(49),dependencies:a(50),enum:a(51),format:a(52),if:a(53),items:a(54),maximum:a(12),minimum:a(12),maxItems:a(13),minItems:a(13),maxLength:a(14),minLength:a(14),maxProperties:a(15),minProperties:a(15),multipleOf:a(55),not:a(56),oneOf:a(57),pattern:a(58),properties:a(59),propertyNames:a(60),required:a(61),uniqueItems:a(62),validate:a(11)}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i,n=" ",s=e.level,o=e.dataLevel,l=e.schema[t],d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(o||""),m="valid"+s;if("#"==l||"#/"==l)e.isRoot?(r=e.async,i="validate"):(r=!0===e.root.schema.$async,i="root.refVal[0]");else{var c=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===c){var h=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(h),(k=k||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(n+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(n+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),n+=" } "):n+=" {} ";var v=n;n=k.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+v+"]); ":n+=" validate.errors = ["+v+"]; return false; ":n+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,h);e.logger.warn(h),u&&(n+=" if (true) { ")}}else if(c.inline){var f=e.util.copy(e);f.level++;var g="valid"+f.level;f.schema=c.schema,f.schemaPath="",f.errSchemaPath=l,n+=" "+e.validate(f).replace(/validate\.schema/g,c.code)+" ",u&&(n+=" if ("+g+") { ")}else r=!0===c.$async||e.async&&!1!==c.$async,i=c.code}if(i){var k;(k=k||[]).push(n),n="",e.opts.passContext?n+=" "+i+".call(this, ":n+=" "+i+"( ",n+=" "+p+", (dataPath || '')",'""'!=e.errorPath&&(n+=" + "+e.errorPath);var y=n+=" , "+(o?"data"+(o-1||""):"parentData")+" , "+(o?e.dataPathArr[o]:"parentDataProperty")+", rootData) ";if(n=k.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(n+=" var "+m+"; "),n+=" try { await "+y+"; ",u&&(n+=" "+m+" = true; "),n+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(n+=" "+m+" = false; "),n+=" } ",u&&(n+=" if ("+m+") { ")}else n+=" if (!"+y+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",u&&(n+=" else { ")}return n}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.schema[t],n=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,o=!e.opts.allErrors,l=e.util.copy(e),d="";l.level++;var u="valid"+l.level,p=l.baseId,m=!0,c=i;if(c)for(var h,v=-1,f=c.length-1;v0:e.util.schemaHasRules(h,e.RULES.all))&&(m=!1,l.schema=h,l.schemaPath=n+"["+v+"]",l.errSchemaPath=s+"/"+v,r+=" "+e.validate(l)+" ",l.baseId=p,o&&(r+=" if ("+u+") { ",d+="}"));return o&&(r+=m?" if (true) { ":" "+d.slice(0,-1)+" "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e),h="";c.level++;var v="valid"+c.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var f=c.baseId;r+=" var "+m+" = errors; var "+p+" = false; ";var g=e.compositeRule;e.compositeRule=c.compositeRule=!0;var k=s;if(k)for(var y,b=-1,w=k.length-1;b0:e.util.schemaHasRules(s,e.RULES.all);if(r+="var "+m+" = errors;var "+p+";",y){var b=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.schema=s,c.schemaPath=o,c.errSchemaPath=l,r+=" var "+h+" = false; for (var "+v+" = 0; "+v+" < "+u+".length; "+v+"++) { ",c.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);var w=u+"["+v+"]";c.dataPathArr[f]=v;var z=e.validate(c);c.baseId=k,e.util.varOccurences(z,g)<2?r+=" "+e.util.varReplace(z,g,w)+" ":r+=" var "+g+" = "+w+"; "+z+" ",r+=" if ("+h+") break; } ",e.compositeRule=c.compositeRule=b,r+=" if (!"+h+") {"}else r+=" if ("+u+".length == 0) {";var _=_||[];_.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var P=r;return r=_.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",y&&(r+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e),c="";m.level++;var h="valid"+m.level,v={},f={},g=e.opts.ownProperties;for(w in s)if("__proto__"!=w){var k=s[w],y=Array.isArray(k)?f:v;y[w]=k}r+="var "+p+" = errors;";var b=e.errorPath;for(var w in r+="var missing"+i+";",f)if((y=f[w]).length){if(r+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",g&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),d){r+=" && ( ";var z=y;if(z)for(var _=-1,P=z.length-1;_0:e.util.schemaHasRules(k,e.RULES.all))&&(r+=" "+h+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",g&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),r+=") { ",m.schema=k,m.schemaPath=o+e.util.getProperty(w),m.errSchemaPath=l+"/"+e.util.escapeFragment(w),r+=" "+e.validate(m)+" ",m.baseId=D,r+=" } ",d&&(r+=" if ("+h+") { ",c+="}"))}return d&&(r+=" "+c+" if ("+p+" == errors) {"),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m=e.opts.$data&&s&&s.$data;m&&(r+=" var schema"+i+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ");var c="i"+i,h="schema"+i;m||(r+=" var "+h+" = validate.schema"+o+";"),r+="var "+p+";",m&&(r+=" if (schema"+i+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+i+")) "+p+" = false; else {"),r+=p+" = false;for (var "+c+"=0; "+c+"<"+h+".length; "+c+"++) if (equal("+u+", "+h+"["+c+"])) { "+p+" = true; break; }",m&&(r+=" } "),r+=" if (!"+p+") { ";var v=v||[];v.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var f=r;return r=v.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",d&&(r+=" else { "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||"");if(!1===e.opts.format)return d&&(r+=" if (true) { "),r;var p,m=e.opts.$data&&s&&s.$data;m?(r+=" var schema"+i+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",p="schema"+i):p=s;var c=e.opts.unknownFormats,h=Array.isArray(c);if(m){r+=" var "+(v="format"+i)+" = formats["+p+"]; var "+(f="isObject"+i)+" = typeof "+v+" == 'object' && !("+v+" instanceof RegExp) && "+v+".validate; var "+(g="formatType"+i)+" = "+f+" && "+v+".type || 'string'; if ("+f+") { ",e.async&&(r+=" var async"+i+" = "+v+".async; "),r+=" "+v+" = "+v+".validate; } if ( ",m&&(r+=" ("+p+" !== undefined && typeof "+p+" != 'string') || "),r+=" (","ignore"!=c&&(r+=" ("+p+" && !"+v+" ",h&&(r+=" && self._opts.unknownFormats.indexOf("+p+") == -1 "),r+=") || "),r+=" ("+v+" && "+g+" == '"+a+"' && !(typeof "+v+" == 'function' ? ",e.async?r+=" (async"+i+" ? await "+v+"("+u+") : "+v+"("+u+")) ":r+=" "+v+"("+u+") ",r+=" : "+v+".test("+u+"))))) {"}else{var v;if(!(v=e.formats[s])){if("ignore"==c)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),d&&(r+=" if (true) { "),r;if(h&&c.indexOf(s)>=0)return d&&(r+=" if (true) { "),r;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var f,g=(f="object"==typeof v&&!(v instanceof RegExp)&&v.validate)&&v.type||"string";if(f){var k=!0===v.async;v=v.validate}if(g!=a)return d&&(r+=" if (true) { "),r;if(k){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(y="formats"+e.util.getProperty(s)+".validate")+"("+u+"))) { "}else{r+=" if (! ";var y="formats"+e.util.getProperty(s);f&&(y+=".validate"),r+="function"==typeof v?" "+y+"("+u+") ":" "+y+".test("+u+") ",r+=") { "}}var b=b||[];b.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",r+=m?""+p:""+e.util.toQuotedString(s),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=m?"' + "+p+" + '":""+e.util.escapeQuotes(s),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=m?"validate.schema"+o:""+e.util.toQuotedString(s),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var w=r;return r=b.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",d&&(r+=" else { "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e);c.level++;var h="valid"+c.level,v=e.schema.then,f=e.schema.else,g=void 0!==v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all)),k=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),y=c.baseId;if(g||k){var b;c.createErrors=!1,c.schema=s,c.schemaPath=o,c.errSchemaPath=l,r+=" var "+m+" = errors; var "+p+" = true; ";var w=e.compositeRule;e.compositeRule=c.compositeRule=!0,r+=" "+e.validate(c)+" ",c.baseId=y,c.createErrors=!0,r+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=c.compositeRule=w,g?(r+=" if ("+h+") { ",c.schema=e.schema.then,c.schemaPath=e.schemaPath+".then",c.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(c)+" ",c.baseId=y,r+=" "+p+" = "+h+"; ",g&&k?r+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",r+=" } ",k&&(r+=" else { ")):r+=" if (!"+h+") { ",k&&(c.schema=e.schema.else,c.schemaPath=e.schemaPath+".else",c.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(c)+" ",c.baseId=y,r+=" "+p+" = "+h+"; ",g&&k?r+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",r+=" } "),r+=" if (!"+p+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",d&&(r+=" else { ")}else d&&(r+=" if (true) { ");return r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e),h="";c.level++;var v="valid"+c.level,f="i"+i,g=c.dataLevel=e.dataLevel+1,k="data"+g,y=e.baseId;if(r+="var "+m+" = errors;var "+p+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){r+=" "+p+" = "+u+".length <= "+s.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems",r+=" if (!"+p+") { ";var z=z||[];z.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var _=r;r=z.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+_+"]); ":r+=" validate.errors = ["+_+"]; return false; ":r+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",l=w,d&&(h+="}",r+=" else { ")}var P=s;if(P)for(var S,A=-1,j=P.length-1;A0:e.util.schemaHasRules(S,e.RULES.all)){r+=" "+v+" = true; if ("+u+".length > "+A+") { ";var C=u+"["+A+"]";c.schema=S,c.schemaPath=o+"["+A+"]",c.errSchemaPath=l+"/"+A,c.errorPath=e.util.getPathExpr(e.errorPath,A,e.opts.jsonPointers,!0),c.dataPathArr[g]=A;var O=e.validate(c);c.baseId=y,e.util.varOccurences(O,k)<2?r+=" "+e.util.varReplace(O,k,C)+" ":r+=" var "+k+" = "+C+"; "+O+" ",r+=" } ",d&&(r+=" if ("+v+") { ",h+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){c.schema=b,c.schemaPath=e.schemaPath+".additionalItems",c.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+v+" = true; if ("+u+".length > "+s.length+") { for (var "+f+" = "+s.length+"; "+f+" < "+u+".length; "+f+"++) { ",c.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);C=u+"["+f+"]";c.dataPathArr[g]=f;O=e.validate(c);c.baseId=y,e.util.varOccurences(O,k)<2?r+=" "+e.util.varReplace(O,k,C)+" ":r+=" var "+k+" = "+C+"; "+O+" ",d&&(r+=" if (!"+v+") break; "),r+=" } } ",d&&(r+=" if ("+v+") { ",h+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){c.schema=s,c.schemaPath=o,c.errSchemaPath=l,r+=" for (var "+f+" = 0; "+f+" < "+u+".length; "+f+"++) { ",c.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);C=u+"["+f+"]";c.dataPathArr[g]=f;O=e.validate(c);c.baseId=y,e.util.varOccurences(O,k)<2?r+=" "+e.util.varReplace(O,k,C)+" ":r+=" var "+k+" = "+C+"; "+O+" ",d&&(r+=" if (!"+v+") break; "),r+=" }"}return d&&(r+=" "+h+" if ("+m+" == errors) {"),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");i+="var division"+n+";if (",m&&(i+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),i+=" (division"+n+" = "+p+" / "+r+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+n+") - division"+n+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+n+" !== parseInt(division"+n+") ",i+=" ) ",m&&(i+=" ) "),i+=" ) { ";var c=c||[];c.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=m?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var h=i;return i=c.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e);m.level++;var c="valid"+m.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){m.schema=s,m.schemaPath=o,m.errSchemaPath=l,r+=" var "+p+" = errors; ";var h,v=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1,m.opts.allErrors&&(h=m.opts.allErrors,m.opts.allErrors=!1),r+=" "+e.validate(m)+" ",m.createErrors=!0,h&&(m.opts.allErrors=h),e.compositeRule=m.compositeRule=v,r+=" if ("+c+") { ";var f=f||[];f.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var g=r;r=f.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",d&&(r+=" if (false) { ");return r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e),h="";c.level++;var v="valid"+c.level,f=c.baseId,g="prevValid"+i,k="passingSchemas"+i;r+="var "+m+" = errors , "+g+" = false , "+p+" = false , "+k+" = null; ";var y=e.compositeRule;e.compositeRule=c.compositeRule=!0;var b=s;if(b)for(var w,z=-1,_=b.length-1;z<_;)w=b[z+=1],(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all))?(c.schema=w,c.schemaPath=o+"["+z+"]",c.errSchemaPath=l+"/"+z,r+=" "+e.validate(c)+" ",c.baseId=f):r+=" var "+v+" = true; ",z&&(r+=" if ("+v+" && "+g+") { "+p+" = false; "+k+" = ["+k+", "+z+"]; } else { ",h+="}"),r+=" if ("+v+") { "+p+" = "+g+" = true; "+k+" = "+z+"; }";return e.compositeRule=c.compositeRule=y,r+=h+"if (!"+p+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+k+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),i+=" !"+(m?"(new RegExp("+r+"))":e.usePattern(o))+".test("+p+") ) { ";var c=c||[];c.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { pattern: ",i+=m?""+r:""+e.util.toQuotedString(o),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=m?"' + "+r+" + '":""+e.util.escapeQuotes(o),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+e.util.toQuotedString(o),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var h=i;return i=c.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e),c="";m.level++;var h="valid"+m.level,v="key"+i,f="idx"+i,g=m.dataLevel=e.dataLevel+1,k="data"+g,y="dataProperties"+i,b=Object.keys(s||{}).filter(x),w=e.schema.patternProperties||{},z=Object.keys(w).filter(x),_=e.schema.additionalProperties,P=b.length||z.length,S=!1===_,A="object"==typeof _&&Object.keys(_).length,j=e.opts.removeAdditional,C=S||A||j,O=e.opts.ownProperties,L=e.baseId,E=e.schema.required;if(E&&(!e.opts.$data||!E.$data)&&E.length8)r+=" || validate.schema"+o+".hasOwnProperty("+v+") ";else{var M=b;if(M)for(var D=-1,$=M.length-1;D<$;)J=M[D+=1],r+=" || "+v+" == "+e.util.toQuotedString(J)+" "}if(z.length){var I=z;if(I)for(var N=-1,V=I.length-1;N0:e.util.schemaHasRules(Y,e.RULES.all)){var X=e.util.getProperty(J),ee=(q=u+X,G&&void 0!==Y.default);m.schema=Y,m.schemaPath=o+X,m.errSchemaPath=l+"/"+e.util.escapeFragment(J),m.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),m.dataPathArr[g]=e.util.toQuotedString(J);K=e.validate(m);if(m.baseId=L,e.util.varOccurences(K,k)<2){K=e.util.varReplace(K,k,q);var te=q}else{te=k;r+=" var "+k+" = "+q+"; "}if(ee)r+=" "+K+" ";else{if(T&&T[J]){r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),r+=") { "+h+" = false; ";H=e.errorPath,R=l;var ae,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(H,J,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(ae=ae||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";U=r;r=ae.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+U+"]); ":r+=" validate.errors = ["+U+"]; return false; ":r+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=R,e.errorPath=H,r+=" } else { "}else d?(r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),r+=") { "+h+" = true; } else { "):(r+=" if ("+te+" !== undefined ",O&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),r+=" ) { ");r+=" "+K+" } "}}d&&(r+=" if ("+h+") { ",c+="}")}}if(z.length){var ie=z;if(ie)for(var ne,se=-1,oe=ie.length-1;se0:e.util.schemaHasRules(Y,e.RULES.all)){m.schema=Y,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ne),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ne),r+=O?" "+y+" = "+y+" || Object.keys("+u+"); for (var "+f+"=0; "+f+"<"+y+".length; "+f+"++) { var "+v+" = "+y+"["+f+"]; ":" for (var "+v+" in "+u+") { ",r+=" if ("+e.usePattern(ne)+".test("+v+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers);q=u+"["+v+"]";m.dataPathArr[g]=v;K=e.validate(m);m.baseId=L,e.util.varOccurences(K,k)<2?r+=" "+e.util.varReplace(K,k,q)+" ":r+=" var "+k+" = "+q+"; "+K+" ",d&&(r+=" if (!"+h+") break; "),r+=" } ",d&&(r+=" else "+h+" = true; "),r+=" } ",d&&(r+=" if ("+h+") { ",c+="}")}}}return d&&(r+=" "+c+" if ("+p+" == errors) {"),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e);m.level++;var c="valid"+m.level;if(r+="var "+p+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){m.schema=s,m.schemaPath=o,m.errSchemaPath=l;var h="key"+i,v="idx"+i,f="i"+i,g="' + "+h+" + '",k="data"+(m.dataLevel=e.dataLevel+1),y="dataProperties"+i,b=e.opts.ownProperties,w=e.baseId;b&&(r+=" var "+y+" = undefined; "),r+=b?" "+y+" = "+y+" || Object.keys("+u+"); for (var "+v+"=0; "+v+"<"+y+".length; "+v+"++) { var "+h+" = "+y+"["+v+"]; ":" for (var "+h+" in "+u+") { ",r+=" var startErrs"+i+" = errors; ";var z=h,_=e.compositeRule;e.compositeRule=m.compositeRule=!0;var P=e.validate(m);m.baseId=w,e.util.varOccurences(P,k)<2?r+=" "+e.util.varReplace(P,k,z)+" ":r+=" var "+k+" = "+z+"; "+P+" ",e.compositeRule=m.compositeRule=_,r+=" if (!"+c+") { for (var "+f+"=startErrs"+i+"; "+f+"0:e.util.schemaHasRules(y,e.RULES.all))||(h[h.length]=f)}}else h=s;if(m||h.length){var b=e.errorPath,w=m||h.length>=e.opts.loopRequired,z=e.opts.ownProperties;if(d)if(r+=" var missing"+i+"; ",w){m||(r+=" var "+c+" = validate.schema"+o+"; ");var _="' + "+(O="schema"+i+"["+(A="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,O,e.opts.jsonPointers)),r+=" var "+p+" = true; ",m&&(r+=" if (schema"+i+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+i+")) "+p+" = false; else {"),r+=" for (var "+A+" = 0; "+A+" < "+c+".length; "+A+"++) { "+p+" = "+u+"["+c+"["+A+"]] !== undefined ",z&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", "+c+"["+A+"]) "),r+="; if (!"+p+") break; } ",m&&(r+=" } "),r+=" if (!"+p+") { ",(C=C||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+_+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var P=r;r=C.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var S=h;if(S)for(var A=-1,j=S.length-1;A 1) { ";var h=e.schema.items&&e.schema.items.type,v=Array.isArray(h);if(!h||"object"==h||"array"==h||v&&(h.indexOf("object")>=0||h.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+p+"[i], "+p+"[j])) { "+m+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+p+"[i]; ";var f="checkDataType"+(v?"s":"");i+=" if ("+e.util[f](h,"item",e.opts.strictNumbers,!0)+") continue; ",v&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+m+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",c&&(i+=" } "),i+=" if (!"+m+") { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var k=i;i=g.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",u&&(i+=" else { ")}else u&&(i+=" if (true) { ");return i}},function(e,t,a){"use strict";var r=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var a=0;a)?=?)";var j=l++;o[j]=o[m]+"|x|X|\\*";var C=l++;o[C]=o[p]+"|x|X|\\*";var O=l++;o[O]="[v=\\s]*("+o[C]+")(?:\\.("+o[C]+")(?:\\.("+o[C]+")(?:"+o[k]+")?"+o[w]+"?)?)?";var L=l++;o[L]="[v=\\s]*("+o[j]+")(?:\\.("+o[j]+")(?:\\.("+o[j]+")(?:"+o[y]+")?"+o[w]+"?)?)?";var E=l++;o[E]="^"+o[A]+"\\s*"+o[O]+"$";var T=l++;o[T]="^"+o[A]+"\\s*"+o[L]+"$";var x=l++;o[x]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var M=l++;o[M]="(?:~>?)";var D=l++;o[D]="(\\s*)"+o[M]+"\\s+",n[D]=new RegExp(o[D],"g"),s[D]=new RegExp(u(o[D]),"g");var $=l++;o[$]="^"+o[M]+o[O]+"$";var I=l++;o[I]="^"+o[M]+o[L]+"$";var N=l++;o[N]="(?:\\^)";var V=l++;o[V]="(\\s*)"+o[N]+"\\s+",n[V]=new RegExp(o[V],"g"),s[V]=new RegExp(u(o[V]),"g");var H=l++;o[H]="^"+o[N]+o[O]+"$";var F=l++;o[F]="^"+o[N]+o[L]+"$";var R=l++;o[R]="^"+o[A]+"\\s*("+P+")$|^$";var U=l++;o[U]="^"+o[A]+"\\s*("+_+")$|^$";var B=l++;o[B]="(\\s*)"+o[A]+"\\s*("+P+"|"+o[O]+")",n[B]=new RegExp(o[B],"g"),s[B]=new RegExp(u(o[B]),"g");var q=l++;o[q]="^\\s*("+o[O]+")\\s+-\\s+("+o[O]+")\\s*$";var K=l++;o[K]="^\\s*("+o[L]+")\\s+-\\s+("+o[L]+")\\s*$";var G=l++;o[G]="(<|>)?=?\\s*\\*";for(var W=0;W<35;W++)r(W,o[W]),n[W]||(n[W]=new RegExp(o[W]),s[W]=new RegExp(u(o[W])));function J(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Z)return e;if("string"!=typeof e)return null;if(e.length>256)return null;if(!(t.loose?s[S]:s[z]).test(e))return null;try{return new Z(e,t)}catch(e){return null}}function Z(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Z){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof Z))return new Z(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var a=e.trim().match(t.loose?s[S]:s[z]);if(!a)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");a[4]?this.prerelease=a[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[a]&&(this.prerelease[a]++,a=-2);-1===a&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,a,r){"string"==typeof a&&(r=a,a=void 0);try{return new Z(e,a).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(ae(e,t))return null;var a=J(e),r=J(t),i="";if(a.prerelease.length||r.prerelease.length){i="pre";var n="prerelease"}for(var s in a)if(("major"===s||"minor"===s||"patch"===s)&&a[s]!==r[s])return i+s;return n},t.compareIdentifiers=Y;var Q=/^[0-9]+$/;function Y(e,t){var a=Q.test(e),r=Q.test(t);return a&&r&&(e=+e,t=+t),e===t?0:a&&!r?-1:r&&!a?1:e0}function te(e,t,a){return X(e,t,a)<0}function ae(e,t,a){return 0===X(e,t,a)}function re(e,t,a){return 0!==X(e,t,a)}function ie(e,t,a){return X(e,t,a)>=0}function ne(e,t,a){return X(e,t,a)<=0}function se(e,t,a,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof a&&(a=a.version),e===a;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof a&&(a=a.version),e!==a;case"":case"=":case"==":return ae(e,a,r);case"!=":return re(e,a,r);case">":return ee(e,a,r);case">=":return ie(e,a,r);case"<":return te(e,a,r);case"<=":return ne(e,a,r);default:throw new TypeError("Invalid operator: "+t)}}function oe(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);e=e.trim().split(/\s+/).join(" "),r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===le?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new Z(e,t).major},t.minor=function(e,t){return new Z(e,t).minor},t.patch=function(e,t){return new Z(e,t).patch},t.compare=X,t.compareLoose=function(e,t){return X(e,t,!0)},t.rcompare=function(e,t,a){return X(t,e,a)},t.sort=function(e,a){return e.sort((function(e,r){return t.compare(e,r,a)}))},t.rsort=function(e,a){return e.sort((function(e,r){return t.rcompare(e,r,a)}))},t.gt=ee,t.lt=te,t.eq=ae,t.neq=re,t.gte=ie,t.lte=ne,t.cmp=se,t.Comparator=oe;var le={};function de(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof de)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new de(e.raw,t);if(e instanceof oe)return new de(e.value,t);if(!(this instanceof de))return new de(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}function ue(e){return!e||"x"===e.toLowerCase()||"*"===e}function pe(e,t,a,r,i,n,s,o,l,d,u,p,m){return((t=ue(a)?"":ue(r)?">="+a+".0.0":ue(i)?">="+a+"."+r+".0":">="+t)+" "+(o=ue(l)?"":ue(d)?"<"+(+l+1)+".0.0":ue(u)?"<"+l+"."+(+d+1)+".0":p?"<="+l+"."+d+"."+u+"-"+p:"<="+o)).trim()}function me(e,t,a){for(var i=0;i0){var n=e[i].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}function ce(e,t,a){try{t=new de(t,a)}catch(e){return!1}return t.test(e)}function he(e,t,a,r){var i,n,s,o,l;switch(e=new Z(e,r),t=new de(t,r),a){case">":i=ee,n=ne,s=te,o=">",l=">=";break;case"<":i=te,n=ie,s=ee,o="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ce(e,t,r))return!1;for(var d=0;d=0.0.0")),p=p||e,m=m||e,i(e.semver,p.semver,r)?p=e:s(e.semver,m.semver,r)&&(m=e)})),p.operator===o||p.operator===l)return!1;if((!m.operator||m.operator===o)&&n(e,m.semver))return!1;if(m.operator===l&&s(e,m.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?s[R]:s[U],a=e.match(t);if(!a)throw new TypeError("Invalid comparator: "+e);this.operator=a[1],"="===this.operator&&(this.operator=""),a[2]?this.semver=new Z(a[2],this.options.loose):this.semver=le},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){return r("Comparator.test",e,this.options.loose),this.semver===le||("string"==typeof e&&(e=new Z(e,this.options)),se(e,this.operator,this.semver,this.options))},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError("a Comparator is required");var a;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return a=new de(e.value,t),ce(this.value,a,t);if(""===e.operator)return a=new de(this.value,t),ce(e.semver,a,t);var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),n=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=se(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),l=se(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||n&&s||o||l},t.Range=de,de.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},de.prototype.toString=function(){return this.range},de.prototype.parseRange=function(e){var t=this.options.loose,a=t?s[K]:s[q];e=e.replace(a,pe),r("hyphen replace",e),e=e.replace(s[B],"$1$2$3"),r("comparator trim",e,s[B]),e=(e=e.replace(s[D],"$1~")).replace(s[V],"$1^");var i=t?s[R]:s[U],n=e.split(" ").map((function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){r("caret",e,t);var a=t.loose?s[F]:s[H];return e.replace(a,(function(t,a,i,n,s){var o;return r("caret",e,t,a,i,n,s),ue(a)?o="":ue(i)?o=">="+a+".0.0 <"+(+a+1)+".0.0":ue(n)?o="0"===a?">="+a+"."+i+".0 <"+a+"."+(+i+1)+".0":">="+a+"."+i+".0 <"+(+a+1)+".0.0":s?(r("replaceCaret pr",s),o="0"===a?"0"===i?">="+a+"."+i+"."+n+"-"+s+" <"+a+"."+i+"."+(+n+1):">="+a+"."+i+"."+n+"-"+s+" <"+a+"."+(+i+1)+".0":">="+a+"."+i+"."+n+"-"+s+" <"+(+a+1)+".0.0"):(r("no pr"),o="0"===a?"0"===i?">="+a+"."+i+"."+n+" <"+a+"."+i+"."+(+n+1):">="+a+"."+i+"."+n+" <"+a+"."+(+i+1)+".0":">="+a+"."+i+"."+n+" <"+(+a+1)+".0.0"),r("caret return",o),o}))}(e,t)})).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var a=t.loose?s[I]:s[$];return e.replace(a,(function(t,a,i,n,s){var o;return r("tilde",e,t,a,i,n,s),ue(a)?o="":ue(i)?o=">="+a+".0.0 <"+(+a+1)+".0.0":ue(n)?o=">="+a+"."+i+".0 <"+a+"."+(+i+1)+".0":s?(r("replaceTilde pr",s),o=">="+a+"."+i+"."+n+"-"+s+" <"+a+"."+(+i+1)+".0"):o=">="+a+"."+i+"."+n+" <"+a+"."+(+i+1)+".0",r("tilde return",o),o}))}(e,t)})).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var a=t.loose?s[T]:s[E];return e.replace(a,(function(t,a,i,n,s,o){r("xRange",e,t,a,i,n,s,o);var l=ue(i),d=l||ue(n),u=d||ue(s);return"="===a&&u&&(a=""),l?t=">"===a||"<"===a?"<0.0.0":"*":a&&u?(d&&(n=0),s=0,">"===a?(a=">=",d?(i=+i+1,n=0,s=0):(n=+n+1,s=0)):"<="===a&&(a="<",d?i=+i+1:n=+n+1),t=a+i+"."+n+"."+s):d?t=">="+i+".0.0 <"+(+i+1)+".0.0":u&&(t=">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0"),r("xRange return",t),t}))}(e,t)})).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(s[G],"")}(e,t),r("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(n=n.filter((function(e){return!!e.match(i)}))),n=n.map((function(e){return new oe(e,this.options)}),this)},de.prototype.intersects=function(e,t){if(!(e instanceof de))throw new TypeError("a Range is required");return this.set.some((function(a){return a.every((function(a){return e.set.some((function(e){return e.every((function(e){return a.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new de(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},de.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new Z(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":a&&!ee(a,t)||(a=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(a&&e.test(a))return a;return null},t.validRange=function(e,t){try{return new de(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,a){return he(e,t,"<",a)},t.gtr=function(e,t,a){return he(e,t,">",a)},t.outside=he,t.prerelease=function(e,t){var a=J(e,t);return a&&a.prerelease.length?a.prerelease:null},t.intersects=function(e,t,a){return e=new de(e,a),t=new de(t,a),e.intersects(t)},t.coerce=function(e){if(e instanceof Z)return e;if("string"!=typeof e)return null;var t=e.match(s[x]);if(null==t)return null;return J(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}}).call(this,a(17))},function(e,t,a){var r;!function(i){var n=/^\s+/,s=/\s+$/,o=0,l=i.round,d=i.min,u=i.max,p=i.random;function m(e,t){if(t=t||{},(e=e||"")instanceof m)return e;if(!(this instanceof m))return new m(e,t);var a=function(e){var t={r:0,g:0,b:0},a=1,r=null,o=null,l=null,p=!1,m=!1;"string"==typeof e&&(e=function(e){e=e.replace(n,"").replace(s,"").toLowerCase();var t,a=!1;if(L[e])e=L[e],a=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=U.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=U.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=U.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=U.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=U.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=U.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=U.hex8.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),a:V(t[4]),format:a?"name":"hex8"};if(t=U.hex6.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),format:a?"name":"hex"};if(t=U.hex4.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),a:V(t[4]+""+t[4]),format:a?"name":"hex8"};if(t=U.hex3.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),format:a?"name":"hex"};return!1}(e));"object"==typeof e&&(B(e.r)&&B(e.g)&&B(e.b)?(c=e.r,h=e.g,v=e.b,t={r:255*x(c,255),g:255*x(h,255),b:255*x(v,255)},p=!0,m="%"===String(e.r).substr(-1)?"prgb":"rgb"):B(e.h)&&B(e.s)&&B(e.v)?(r=I(e.s),o=I(e.v),t=function(e,t,a){e=6*x(e,360),t=x(t,100),a=x(a,100);var r=i.floor(e),n=e-r,s=a*(1-t),o=a*(1-n*t),l=a*(1-(1-n)*t),d=r%6;return{r:255*[a,o,s,s,l,a][d],g:255*[l,a,a,o,s,s][d],b:255*[s,s,l,a,a,o][d]}}(e.h,r,o),p=!0,m="hsv"):B(e.h)&&B(e.s)&&B(e.l)&&(r=I(e.s),l=I(e.l),t=function(e,t,a){var r,i,n;function s(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e}if(e=x(e,360),t=x(t,100),a=x(a,100),0===t)r=i=n=a;else{var o=a<.5?a*(1+t):a+t-a*t,l=2*a-o;r=s(l,o,e+1/3),i=s(l,o,e),n=s(l,o,e-1/3)}return{r:255*r,g:255*i,b:255*n}}(e.h,r,l),p=!0,m="hsl"),e.hasOwnProperty("a")&&(a=e.a));var c,h,v;return a=T(a),{ok:p,format:e.format||m,r:d(255,u(t.r,0)),g:d(255,u(t.g,0)),b:d(255,u(t.b,0)),a:a}}(e);this._originalInput=e,this._r=a.r,this._g=a.g,this._b=a.b,this._a=a.a,this._roundA=l(100*this._a)/100,this._format=t.format||a.format,this._gradientType=t.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=a.ok,this._tc_id=o++}function c(e,t,a){e=x(e,255),t=x(t,255),a=x(a,255);var r,i,n=u(e,t,a),s=d(e,t,a),o=(n+s)/2;if(n==s)r=i=0;else{var l=n-s;switch(i=o>.5?l/(2-n-s):l/(n+s),n){case e:r=(t-a)/l+(t>1)+720)%360;--t;)r.h=(r.h+i)%360,n.push(m(r));return n}function O(e,t){t=t||6;for(var a=m(e).toHsv(),r=a.h,i=a.s,n=a.v,s=[],o=1/t;t--;)s.push(m({h:r,s:i,v:n})),n=(n+o)%1;return s}m.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,a,r=this.toRgb();return e=r.r/255,t=r.g/255,a=r.b/255,.2126*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:i.pow((a+.055)/1.055,2.4))},setAlpha:function(e){return this._a=T(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=l(360*e.h),a=l(100*e.s),r=l(100*e.v);return 1==this._a?"hsv("+t+", "+a+"%, "+r+"%)":"hsva("+t+", "+a+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var e=c(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=c(this._r,this._g,this._b),t=l(360*e.h),a=l(100*e.s),r=l(100*e.l);return 1==this._a?"hsl("+t+", "+a+"%, "+r+"%)":"hsla("+t+", "+a+"%, "+r+"%, "+this._roundA+")"},toHex:function(e){return v(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,a,r,i){var n=[$(l(e).toString(16)),$(l(t).toString(16)),$(l(a).toString(16)),$(N(r))];if(i&&n[0].charAt(0)==n[0].charAt(1)&&n[1].charAt(0)==n[1].charAt(1)&&n[2].charAt(0)==n[2].charAt(1)&&n[3].charAt(0)==n[3].charAt(1))return n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0)+n[3].charAt(0);return n.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*x(this._r,255))+"%",g:l(100*x(this._g,255))+"%",b:l(100*x(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*x(this._r,255))+"%, "+l(100*x(this._g,255))+"%, "+l(100*x(this._b,255))+"%)":"rgba("+l(100*x(this._r,255))+"%, "+l(100*x(this._g,255))+"%, "+l(100*x(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+f(this._r,this._g,this._b,this._a),a=t,r=this._gradientType?"GradientType = 1, ":"";if(e){var i=m(e);a="#"+f(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+t+",endColorstr="+a+")"},toString:function(e){var t=!!e;e=e||this._format;var a=!1,r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(a=this.toRgbString()),"prgb"===e&&(a=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(a=this.toHexString()),"hex3"===e&&(a=this.toHexString(!0)),"hex4"===e&&(a=this.toHex8String(!0)),"hex8"===e&&(a=this.toHex8String()),"name"===e&&(a=this.toName()),"hsl"===e&&(a=this.toHslString()),"hsv"===e&&(a=this.toHsvString()),a||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return m(this.toString())},_applyModification:function(e,t){var a=e.apply(null,[this].concat([].slice.call(t)));return this._r=a._r,this._g=a._g,this._b=a._b,this.setAlpha(a._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(z,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(y,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(C,arguments)},complement:function(){return this._applyCombination(P,arguments)},monochromatic:function(){return this._applyCombination(O,arguments)},splitcomplement:function(){return this._applyCombination(j,arguments)},triad:function(){return this._applyCombination(S,arguments)},tetrad:function(){return this._applyCombination(A,arguments)}},m.fromRatio=function(e,t){if("object"==typeof e){var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]="a"===r?e[r]:I(e[r]));e=a}return m(e,t)},m.equals=function(e,t){return!(!e||!t)&&m(e).toRgbString()==m(t).toRgbString()},m.random=function(){return m.fromRatio({r:p(),g:p(),b:p()})},m.mix=function(e,t,a){a=0===a?0:a||50;var r=m(e).toRgb(),i=m(t).toRgb(),n=a/100;return m({r:(i.r-r.r)*n+r.r,g:(i.g-r.g)*n+r.g,b:(i.b-r.b)*n+r.b,a:(i.a-r.a)*n+r.a})},m.readability=function(e,t){var a=m(e),r=m(t);return(i.max(a.getLuminance(),r.getLuminance())+.05)/(i.min(a.getLuminance(),r.getLuminance())+.05)},m.isReadable=function(e,t,a){var r,i,n=m.readability(e,t);switch(i=!1,(r=function(e){var t,a;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),a=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==a&&"large"!==a&&(a="small");return{level:t,size:a}}(a)).level+r.size){case"AAsmall":case"AAAlarge":i=n>=4.5;break;case"AAlarge":i=n>=3;break;case"AAAsmall":i=n>=7}return i},m.mostReadable=function(e,t,a){var r,i,n,s,o=null,l=0;i=(a=a||{}).includeFallbackColors,n=a.level,s=a.size;for(var d=0;dl&&(l=r,o=m(t[d]));return m.isReadable(e,o,{level:n,size:s})||!i?o:(a.includeFallbackColors=!1,m.mostReadable(e,["#fff","#000"],a))};var L=m.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=m.hexNames=function(e){var t={};for(var a in e)e.hasOwnProperty(a)&&(t[e[a]]=a);return t}(L);function T(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function x(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var a=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=d(t,u(0,parseFloat(e))),a&&(e=parseInt(e*t,10)/100),i.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function M(e){return d(1,u(0,e))}function D(e){return parseInt(e,16)}function $(e){return 1==e.length?"0"+e:""+e}function I(e){return e<=1&&(e=100*e+"%"),e}function N(e){return i.round(255*parseFloat(e)).toString(16)}function V(e){return D(e)/255}var H,F,R,U=(F="[\\s|\\(]+("+(H="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",R="[\\s|\\(]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",{CSS_UNIT:new RegExp(H),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+R),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+R),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+R),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function B(e){return!!U.CSS_UNIT.exec(e)}e.exports?e.exports=m:void 0===(r=function(){return m}.call(t,a,t,e))||(e.exports=r)}(Math)},function(e){e.exports=JSON.parse('{"title":"Capability","type":"object","definitions":{"i18nObject":{"oneOf":[{"type":"string","minLength":1},{"type":"object","required":["en"],"patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false}]}},"required":["title","type"],"anyOf":[{"required":["getable"]},{"required":["setable"]}],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"desc":{"$ref":"#/definitions/i18nObject"},"type":{"type":"string","enum":["boolean","number","string","enum"]},"getable":{"type":"boolean","default":true},"setable":{"type":"boolean","default":true},"icon":{"type":"string"},"insights":{"type":"boolean"},"insightsTitleTrue":{"$ref":"#/definitions/i18nObject"},"insightsTitleFalse":{"$ref":"#/definitions/i18nObject"},"chartType":{"type":"string","enum":["line","area","stepLine","column","spline","splineArea","scatter"]},"decimals":{"type":"number"},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0},"units":{"$ref":"#/definitions/i18nObject"},"values":{"type":"array","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"}}}},"uiComponent":{"oneOf":[{"type":"string","enum":["thermostat","media","toggle","slider","ternary","button","color","picker","sensor","battery"]},{"type":"null"}]}},"_comment":"Require `values` array when `type` is `enum`","oneOf":[{"properties":{"type":{"type":"string","enum":["enum"]}},"required":["values"]},{"properties":{"type":{"type":"string","enum":["boolean","number","string"]}}}]}')},function(e){e.exports=JSON.parse('["onoff","dim","light_hue","light_saturation","light_temperature","light_mode","vacuumcleaner_state","thermostat_mode","target_temperature","measure_temperature","measure_co","measure_co2","measure_pm25","measure_humidity","measure_pressure","measure_noise","measure_rain","measure_wind_strength","measure_wind_angle","measure_gust_strength","measure_gust_angle","measure_battery","measure_power","measure_voltage","measure_current","measure_luminance","measure_ultraviolet","measure_water","alarm_generic","alarm_motion","alarm_contact","alarm_co","alarm_co2","alarm_pm25","alarm_tamper","alarm_smoke","alarm_fire","alarm_heat","alarm_water","alarm_battery","alarm_night","meter_power","meter_water","meter_gas","meter_rain","homealarm_state","volume_set","volume_up","volume_down","volume_mute","channel_up","channel_down","locked","lock_mode","garagedoor_closed","windowcoverings_state","windowcoverings_tilt_up","windowcoverings_tilt_down","windowcoverings_tilt_set","windowcoverings_closed","windowcoverings_set","button","speaker_playing","speaker_next","speaker_prev","speaker_shuffle","speaker_repeat","speaker_artist","speaker_album","speaker_track","speaker_duration","speaker_position","alarm_bin_full","alarm_bin_missing","alarm_cleaning_pad_missing","alarm_cold","alarm_connectivity","alarm_door_fault","alarm_gas","alarm_light","alarm_lost","alarm_moisture","alarm_noise","alarm_occupancy","alarm_pm01","alarm_pm1","alarm_pm10","alarm_power","alarm_presence","alarm_problem","alarm_pump_device","alarm_pump_supply","alarm_running","alarm_safety","alarm_stuck","alarm_tank_empty","alarm_tank_missing","alarm_tank_open","alarm_vibration","audio_output","battery_charging_state","dishwasher_program","docked","fan_mode","fan_speed","heater_operation_mode","measure_hepa_filter","hot_water_mode","laundry_washer_cycles","laundry_washer_program","laundry_washer_speed","level_aqi","level_carbon_filter","level_ch2o","level_co","level_co2","level_nox","level_o3","level_pm1","level_pm01","level_pm10","level_pm25","level_radon","level_so2","level_tvoc","measure_aqi","measure_carbon_filter","measure_ch2o","measure_content_volume","measure_data_rate","measure_data_size","measure_distance","measure_frequency","level_hepa_filter","measure_moisture","measure_monetary","measure_nox","measure_o3","measure_odor","measure_ph","measure_pm1","measure_pm01","measure_pm10","measure_radon","measure_rain_intensity","measure_rotation","measure_signal_strength","measure_so2","measure_speed","measure_tvoc","measure_tvoc_index","measure_weight","media_input","mower_state","operational_state","oscillating","pump_mode","pump_setpoint","refrigerator_mode","speaker_stop","swing_mode","target_humidity_max","target_humidity_min","target_humidity","target_temperature_level","target_temperature_max","target_temperature_min","vacuumcleaner_job_mode","valve_position"]')},function(e,t,a){var r={"./alarm_battery.json":74,"./alarm_bin_full.json":75,"./alarm_bin_missing.json":76,"./alarm_cleaning_pad_missing.json":77,"./alarm_co.json":78,"./alarm_co2.json":79,"./alarm_cold.json":80,"./alarm_connectivity.json":81,"./alarm_contact.json":82,"./alarm_door_fault.json":83,"./alarm_fire.json":84,"./alarm_gas.json":85,"./alarm_generic.json":86,"./alarm_heat.json":87,"./alarm_light.json":88,"./alarm_lost.json":89,"./alarm_moisture.json":90,"./alarm_motion.json":91,"./alarm_night.json":92,"./alarm_noise.json":93,"./alarm_occupancy.json":94,"./alarm_pm01.json":95,"./alarm_pm1.json":96,"./alarm_pm10.json":97,"./alarm_pm25.json":98,"./alarm_power.json":99,"./alarm_presence.json":100,"./alarm_problem.json":101,"./alarm_pump_device.json":102,"./alarm_pump_supply.json":103,"./alarm_running.json":104,"./alarm_safety.json":105,"./alarm_smoke.json":106,"./alarm_stuck.json":107,"./alarm_tamper.json":108,"./alarm_tank_empty.json":109,"./alarm_tank_missing.json":110,"./alarm_tank_open.json":111,"./alarm_vibration.json":112,"./alarm_water.json":113,"./audio_output.json":114,"./battery_charging_state.json":115,"./button.json":116,"./channel_down.json":117,"./channel_up.json":118,"./dim.json":119,"./dishwasher_program.json":120,"./docked.json":121,"./fan_mode.json":122,"./fan_speed.json":123,"./garagedoor_closed.json":124,"./heater_operation_mode.json":125,"./homealarm_state.json":126,"./hot_water_mode.json":127,"./laundry_washer_cycles.json":128,"./laundry_washer_program.json":129,"./laundry_washer_speed.json":130,"./level_aqi.json":131,"./level_carbon_filter.json":132,"./level_ch2o.json":133,"./level_co.json":134,"./level_co2.json":135,"./level_hepa_filter.json":136,"./level_nox.json":137,"./level_o3.json":138,"./level_pm01.json":139,"./level_pm1.json":140,"./level_pm10.json":141,"./level_pm25.json":142,"./level_radon.json":143,"./level_so2.json":144,"./level_tvoc.json":145,"./light_hue.json":146,"./light_mode.json":147,"./light_saturation.json":148,"./light_temperature.json":149,"./lock_mode.json":150,"./locked.json":151,"./measure_aqi.json":152,"./measure_battery.json":153,"./measure_carbon_filter.json":154,"./measure_ch2o.json":155,"./measure_co.json":156,"./measure_co2.json":157,"./measure_content_volume.json":158,"./measure_current.json":159,"./measure_data_rate.json":160,"./measure_data_size.json":161,"./measure_distance.json":162,"./measure_frequency.json":163,"./measure_gust_angle.json":164,"./measure_gust_strength.json":165,"./measure_hepa_filter.json":166,"./measure_humidity.json":167,"./measure_luminance.json":168,"./measure_moisture.json":169,"./measure_monetary.json":170,"./measure_noise.json":171,"./measure_nox.json":172,"./measure_o3.json":173,"./measure_odor.json":174,"./measure_ph.json":175,"./measure_pm01.json":176,"./measure_pm1.json":177,"./measure_pm10.json":178,"./measure_pm25.json":179,"./measure_power.json":180,"./measure_pressure.json":181,"./measure_radon.json":182,"./measure_rain.json":183,"./measure_rain_intensity.json":184,"./measure_rotation.json":185,"./measure_signal_strength.json":186,"./measure_so2.json":187,"./measure_speed.json":188,"./measure_temperature.json":189,"./measure_tvoc.json":190,"./measure_tvoc_index.json":191,"./measure_ultraviolet.json":192,"./measure_voltage.json":193,"./measure_water.json":194,"./measure_weight.json":195,"./measure_wind_angle.json":196,"./measure_wind_strength.json":197,"./media_input.json":198,"./meter_gas.json":199,"./meter_power.json":200,"./meter_rain.json":201,"./meter_water.json":202,"./mower_state.json":203,"./onoff.json":204,"./operational_state.json":205,"./oscillating.json":206,"./pump_mode.json":207,"./pump_setpoint.json":208,"./refrigerator_mode.json":209,"./speaker_album.json":210,"./speaker_artist.json":211,"./speaker_duration.json":212,"./speaker_next.json":213,"./speaker_playing.json":214,"./speaker_position.json":215,"./speaker_prev.json":216,"./speaker_repeat.json":217,"./speaker_shuffle.json":218,"./speaker_stop.json":219,"./speaker_track.json":220,"./swing_mode.json":221,"./target_humidity.json":222,"./target_humidity_max.json":223,"./target_humidity_min.json":224,"./target_temperature.json":225,"./target_temperature_level.json":226,"./target_temperature_max.json":227,"./target_temperature_min.json":228,"./thermostat_mode.json":229,"./vacuumcleaner_job_mode.json":230,"./vacuumcleaner_state.json":231,"./valve_position.json":232,"./volume_down.json":233,"./volume_mute.json":234,"./volume_set.json":235,"./volume_up.json":236,"./windowcoverings_closed.json":237,"./windowcoverings_set.json":238,"./windowcoverings_state.json":239,"./windowcoverings_tilt_down.json":240,"./windowcoverings_tilt_set.json":241,"./windowcoverings_tilt_up.json":242};function i(e){var t=n(e);return a(t)}function n(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=n,e.exports=i,i.id=73},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Battery alarm","nl":"Batterij-alarm","de":"Batterie-Alarm","fr":"Alarme batterie","it":"Allarme batteria","sv":"Batterialarm","no":"Batterialarm","es":"Alarma de batería","da":"Batterialarm","ru":"Сигнал аккумулятора","pl":"Alarm stanu baterii","ko":"배터리 알람"},"desc":{"en":"True when there is a battery warning","nl":"Geeft een batterijwaarschuwing","de":"True, wenn es eine Batterie-Warnung gibt","fr":"Vrai quand il y a un avertissement de batterie","it":"Vero quando c\'è un avvertimento sulla batteria","sv":"Sant när det finns en batterivarning","no":"Sant når det finnes en batteriadvarsel","es":"Activado cuando hay una advertencia de la batería","da":"Sandt, når der er en batterialarm","ru":"Значение «истина», когда есть предупреждение об аккумуляторе","pl":"Adekwatny, kiedy włączy się ostrzeżenie o stanie baterii","ko":"배터리 경고가 있으면 참"},"insights":true,"insightsTitleTrue":{"en":"Battery alarm turned on","nl":"Batterijalarm ging af","de":"Batterie-Alarm ist angegangen","fr":"Alarme batterie activée","it":"Allarme batteria attivato","sv":"Batterialarm aktiverat","no":"Batterialarm aktivert","es":"Alarma de la batería activada","da":"Batterialarm aktiveret","ru":"Сигнал аккумулятора включен","pl":"Alarm stanu baterii włączony","ko":"배터리 알람 켜짐"},"insightsTitleFalse":{"en":"Battery alarm turned off","nl":"Batterijalarm ging uit","de":"Batterie-Alarm ist ausgegangen","fr":"Alarme batterie désactivée","it":"Allarme batteria disattivato","sv":"Batterialarm inaktiverat","no":"Batterialarm deaktivert","es":"Alarma de la batería desactivada","da":"Batterialarm deaktiveret","ru":"Сигнал аккумулятора выключен","pl":"Alarm stanu baterii wyłączony","ko":"배터리 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"battery","$flow":{"triggers":[{"id":"alarm_battery_true","highlight":true,"title":{"en":"The battery alarm turned on","nl":"De batterijwaarschuwing gaat aan","de":"Der Batterie-Alarm ist angegangen","fr":"L\'alarme batterie s\'est activée","it":"L\'allarme della batteria è stato attivato","sv":"Batterialarmet aktiverat","no":"Batterialarmen ble aktivert","es":"La alarma de la batería se ha activado","da":"Batterialarm aktiverede","ru":"Сигнал аккумулятора включен","pl":"Alarm stanu baterii włączony","ko":"배터리 알람 켜짐"}},{"id":"alarm_battery_false","title":{"en":"The battery alarm turned off","nl":"De batterijwaarschuwing gaat uit","de":"Der Batterie-Alarm ist ausgegangen","fr":"L\'alarme batterie s\'est désactivée","it":"L\'allarme della batteria è stato disattivato","sv":"Batterialarmet aktiverat","no":"Batterialarmen ble deaktivert","es":"La alarma de la batería se ha desactivado","da":"Batterialarm deaktiverede","ru":"Сигнал аккумулятора выключен","pl":"Alarm stanu baterii wyłączony","ko":"배터리 알람 꺼짐"}}],"conditions":[{"id":"alarm_battery","title":{"en":"The battery alarm is !{{on|off}}","nl":"De batterijwaarschuwing is !{{aan|uit}}","de":"Der Batterie-Alarm ist !{{an|aus}}","fr":"L\'alarme batterie est !{{en marche|arrêtée}}","it":"L\'allarme della batteria è !{{acceso|spento}}","sv":"Batterialarmet är !{{på|av}}","no":"Batterialarmen er !{{på|av}}","es":"La alarma de la batería está !{{activada|desactivada}}","da":"Batterialarmen er !{{tændt|slukket}}","ko":"배터리 알람 !{{켬|끔}}","pl":"Alarm stanu baterii jest !{{włączony|wyłączony}}","ru":"Сигнал аккумулятора !{{включен|выключен}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Bin full alarm","nl":"Waarschuwing bij volle afvalbak","da":"Papirkurv fuld alarm","es":"Alarma de cubo lleno","fr":"Alarme de poubelle pleine","it":"Allarme contenitore pieno","ko":"휴지통 가득 참 알람","pl":"Alarm pełnego kosza","ru":"Сигнал о заполненности контейнера","sv":"Larm om full behållare","no":"Alarm om full støvbeholder"},"desc":{"en":"True when the bin is full","nl":"Wordt geactiveerd wanneer de afvalbak vol is","da":"Sandt, når papirkurven er fuld","es":"Activado cuando el cubo está lleno","fr":"Se déclenche lorsque la poubelle est pleine","it":"Vero quando il contenitore è pieno","ko":"휴지통이 가득 차면 참임","pl":"Prawda, gdy kosz jest pełny","ru":"Значение «истина», когда контейнер заполнен","sv":"Sant när behållaren är full","no":"Sann når støvbeholderen er full"},"insights":true,"insightsTitleTrue":{"en":"The bin was full","nl":"De afvalbak was vol","da":"Papirkurven var fuld","es":"El cubo estaba lleno","fr":"La poubelle était pleine","it":"Il contenitore era pieno","ko":"휴지통 가득 찼음","pl":"Kosz był pełny","ru":"Контейнер был заполнен","sv":"Behållaren var full","no":"Støvbeholderen var full"},"insightsTitleFalse":{"en":"The bin was not full","nl":"De afvalbak was niet vol","da":"Papirkurven var ikke fuld","es":"El cubo no estaba lleno","fr":"La poubelle n\'était pas pleine","it":"Il contenitore non era pieno","ko":"휴지통이 가득 차지 않음","pl":"Kosz nie był pełny","ru":"Контейнер не был заполнен","sv":"Behållaren var inte full","no":"Støvbeholderen var ikke full"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_bin_full_true","highlight":true,"title":{"en":"The bin is full","nl":"De afvalbak is vol","da":"Papirkurven er fuld","es":"El cubo está lleno","fr":"La poubelle est pleine","it":"Il contenitore è pieno","ko":"휴지통이 가득 참","pl":"Kosz jest pełny","ru":"Контейнер заполнен","sv":"Behållaren är full","no":"Støvbeholderen er full"}},{"id":"alarm_bin_full_false","title":{"en":"The bin is no longer full","nl":"De afvalbak is niet meer vol","da":"Papirkurven er ikke længere fuld","es":"El cubo ya no está lleno","fr":"La poubelle n\'est plus pleine","it":"Il contenitore non è più pieno","ko":"휴지통이 더 이상 가득 차지 않음","pl":"Kosz nie jest już pełny","ru":"Контейнер больше не заполнен","sv":"Behållaren är inte längre full","no":"Støvbeholderen er ikke lenger full"}}],"conditions":[{"id":"alarm_bin_full","title":{"en":"The bin is !{{full|not full}}","nl":"De afvalbak is !{{vol|niet vol}}","da":"Papirkurven er !{{full|not full}}","es":"El cubo !{{está lleno|no está lleno}} ","it":"Il contenitore è !{{pieno|non pieno}}","ko":"휴지통이 !{{가득 참|가득 차지 않음}}","pl":"Kosz {{jest pełny|nie jest pełny}}","ru":"Контейнер !{{заполнен|не заполнен}}","sv":"Behållaren är!{{full|inte full}}","fr":"La poubelle !{{est pleine|n\'est pas pleine}}","no":"Støvbeholderen er !{{full|ikke full}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Bin missing alarm","nl":"Waarschuwing bij ontbrekende afvalbak","da":"Papirkurv mangler alarm","es":"Alarma de cubo no presente","fr":"Alarme de poubelle manquante","it":"Allarme contenitore mancante","ko":"휴지통에 알람 누락","pl":"Alarm braku kosza","ru":"Сигнал об отсутствии контейнера","sv":"Larm om att behållaren saknas","no":"Alarm om manglende støvbeholder"},"desc":{"en":"True when the bin is missing.","nl":"Wordt geactiveerd wanneer de afvalbak ontbreekt.","da":"Sandt, når papirkurven mangler","es":"Activado cuando el cubo no está presente.","fr":"Se déclenche lorsque la poubelle est manquante.","it":"Vero quando manca il contenitore.","ko":"휴지통이 누락되면 참입니다.","pl":"Prawda, gdy brakuje kosza.","ru":"Значение «истина», когда контейнер отсутствует.","sv":"Sant när behållaren saknas.","no":"Sann når støvbeholderen mangler."},"insights":true,"insightsTitleTrue":{"en":"The bin was removed","nl":"De afvalbak was verwijderd","da":"Papirkurv blev fjernet","es":"El cubo se ha retirado","fr":"La poubelle a été enlevée","it":"Il contenitore è stato rimosso","ko":"휴지통이 제거됨","pl":"Kosz został usunięty","ru":"Контейнер был удален","sv":"Behållaren togs bort","no":"Støvbeholderen ble fjernet"},"insightsTitleFalse":{"en":"The bin was placed","nl":"De afvalbak was geplaatst","da":"Papirkurven blev placeret","es":"El cubo se ha colocado","fr":"La poubelle a été placée","it":"Il contenitore è stato posizionato","ko":"휴지통이 배치됨","pl":"Kosz został umieszczony","ru":"Контейнер был размещен","sv":"Behållaren placerades","no":"Støvbeholderen ble satt på plass"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_bin_missing_true","highlight":true,"title":{"en":"The bin was removed","nl":"De afvalbak was verwijderd","da":"Papirkurven blev fjernet","es":"El cubo se ha retirado","fr":"La poubelle a été enlevée","it":"Il contenitore è stato rimosso","ko":"휴지통이 제거됨","pl":"Kosz został usunięty","ru":"Контейнер был удален","sv":"Behållaren togs bort","no":"Støvbeholderen ble fjernet"}},{"id":"alarm_bin_missing_false","title":{"en":"The bin was placed","nl":"De afvalbak was geplaatst","da":"Papirkurven blev placeret","es":"El cubo se ha colocado","fr":"La corbeille a été placée","it":"Il contenitore è stato posizionato","ko":"휴지통이 배치됨","pl":"Kosz został umieszczony","ru":"Контейнер был размещен","sv":"Behållaren placerades","no":"Støvbeholderen ble satt på plass"}}],"conditions":[{"id":"alarm_bin_missing","title":{"en":"The bin is !{{missing|present}}","nl":"De afvalbak !{{ontbreekt|staat er}}","da":"Papirkurven !{{missing|present}}","es":"Cubo !{{no presente|presente}}","it":"Il contenitore è !{{assente|presente}}","ko":"휴지통이 !{{누락됨|있음}}","pl":"Kosz jest !{{brakujący|obecny}}","ru":"Контейнер !{{отсутствует|в наличии}}","sv":"Behållaren !{{saknas|är på plats}}","fr":"La poubelle est !{{manquante|présente}}","no":"Støvbeholderen !{{mangler|mangler ikke}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Cleaning pad missing alarm","nl":"Waarschuwing bij ontbrekende reinigingspad","da":"Rengøringspad mangler alarm","es":"Alarma de almohadilla de limpieza no presente","fr":"Alarme de lingette de nettoyage manquante","it":"Allarme panno pulente mancante","ko":"클리닝 패드 누락 알람","pl":"Alarm braku podkładki czyszczącej","ru":"Сигнал об отсутствии чистящей губки","sv":"Rengöringspad saknar larm","no":"Alarm om manglende vaskeklut"},"desc":{"en":"True when the cleaning pad is missing.","nl":"Wordt geactiveerd wanneer de reinigingspad ontbreekt.","da":"Sandt, når rengøringspad mangler.","es":"Activado cuando la almohadilla no está presente","fr":"Se déclenche lorsque la lingette de nettoyage est manquante.","it":"Vero quando manca il panno pulente.","ko":"클리닝 패드가 누락되면 참입니다.","pl":"Prawda, gdy brakuje podkładki czyszczącej.","ru":"Значение «истина», когда чистящая губка отсутствует.","sv":"Sant när rengöringsdynan saknas.","no":"Sann når vaskekluten mangler."},"insights":true,"insightsTitleTrue":{"en":"The cleaning pad was removed","nl":"De reinigingspad was verwijderd","da":"Rengøringspad blev fjernet","es":"La almohadilla de limpieza se ha retirado","fr":"La lingette de nettoyage a été enlevée","it":"Il panno pulente è stato rimosso","ko":"클리닝 패드가 제거됨","pl":"Podkładka czyszcząca została usunięta","ru":"Чистящая губка была удалена","sv":"Rengöringsdynan togs bort","no":"Vaskekluten ble fjernet"},"insightsTitleFalse":{"en":"The cleaning pad was placed","nl":"De reinigingspad was geplaatst","da":"Rengøringspad blev placeret","es":"La almohadilla de limpieza se ha colocado","fr":"La lingette de nettoyage a été placée","it":"Il panno pulente è stato posizionato","ko":"클리닝 패드가 배치됨","pl":"Podkładka czyszcząca została umieszczona","ru":"Чистящая губка была размещена","sv":"Rengöringsdynan placerades","no":"Vaskekluten ble satt på plass"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_cleaning_pad_missing_true","highlight":true,"title":{"en":"The cleaning pad was removed","nl":"De reinigingspad is verwijderd","da":"Rengøringspad blev fjernet","es":"La almohadilla de limpieza se ha retirado","fr":"La lingette de nettoyage a été enlevée","it":"Il panno pulente è stato rimosso","ko":"클리닝 패드가 제거됨","pl":"Podkładka czyszcząca została usunięta","ru":"Чистящая губка была удалена","sv":"Rengöringsdynan togs bort","no":"Vaskekluten ble fjernet"}},{"id":"alarm_cleaning_pad_missing_false","title":{"en":"The cleaning pad was placed","nl":"De reinigingspad is geplaatst","da":"Rengøringspad blev placeret","es":"La almohadilla de limpieza se ha colocado","fr":"La lingette de nettoyage a été placée","it":"Il panno pulente è stato posizionato","ko":"클리닝 패드가 배치됨","pl":"Podkładka czyszcząca została umieszczona","ru":"Чистящая губка была размещена","sv":"Rengöringsdynan placerades","no":"Vaskekluten ble satt på plass"}}],"conditions":[{"id":"alarm_cleaning_pad_missing","title":{"en":"The cleaning pad is !{{missing|present}}","nl":"De reiningingspad !{{ontbreekt|is aangebracht}}","da":"Rengøringspad !{{mangler|er tilstede}}","es":"Almohadilla de limpieza !{{no presente|presente}}","it":"Il panno pulente è !{{assente|presente}}","ko":"클리닝 패드가 !{{누락됨|있음}}","pl":"Podkładka czyszcząca jest !{{brakująca|obecna}}","ru":"Чистящая губка !{{отсутствует|в наличии}}","sv":"Rengöringsdynan !{{saknas|är på plats}}","fr":"La lingette de nettoyage est !{{manquante|présente}}","no":"Vaskekluten !{{mangler|er på plass}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"CO alarm","nl":"CO-alarm","de":"CO-Alarm","fr":"Alarme CO","it":"Allarme CO","sv":"CO-larm","no":"CO-alarm","es":"Alarma de CO","da":"CO-alarm","ru":"Сигнал CO","pl":"Alarm o CO","ko":"CO 알람"},"desc":{"en":"True when dangerous CO values have been detected","nl":"Gaat af bij gevaarlijke concentraties CO","de":"True, wenn gefährliche CO-Werte erkannt wurden","fr":"Vrai si des valeurs de CO dangereuses ont été détectées","it":"Vero quando sono stati rilevati valori pericolosi di CO","sv":"Sant när farliga CO-värden upptäcks","no":"Sant når farlige CO-verdier påvises","es":"Activado cuando se han detectado valores peligrosos de CO","da":"Sandt, når farlige CO-værdier er blevet opdaget","ru":"Значение «истина» при обнаружении опасных значений CO","pl":"Adekwatny, kiedy wykryty zostanie niebezpieczny poziom stężenia CO","ko":"위험한 CO 값이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"CO alarm turned on","nl":"CO-alarm ging af","de":"CO-Alarm ist angegangen","fr":"L\'alarme CO est activée","it":"Allarme CO attivato","sv":"CO-larm aktiverat","no":"CO-alarm aktivert","es":"Alarma de CO activada","da":"CO-alarm aktiveret","ru":"Сигнал CO включен","pl":"Alarm o CO włączony","ko":"CO 알람 켜짐"},"insightsTitleFalse":{"en":"CO alarm turned off","nl":"CO-alarm ging uit","de":"CO-Alarm ist ausgegangen","fr":"L\'alarme CO est désactivée","it":"Allarme CO disattivato","sv":"CO-larm inaktiverat","no":"CO-alarm deaktivert","es":"Alarma de CO desactivada","da":"CO-alarm deaktiveret","ru":"Сигнал CO выключен","pl":"Alarm o CO wyłączony","ko":"CO 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_co_true","highlight":true,"title":{"en":"The CO alarm turned on","nl":"Het CO-alarm gaat aan","de":"Der CO-Alarm ist angegangen","fr":"L\'alarme CO s\'est activée","it":"L\'allarme CO è stato attivato","sv":"CO-larmet aktiverades","no":"CO-alarmen ble aktivert","es":"La alarma de CO se ha activado","da":"CO-alarmen blev aktiveredt","ru":"Сигнал CO включен","pl":"Alarm o CO włączony","ko":"CO 알람 켜짐"}},{"id":"alarm_co_false","title":{"en":"The CO alarm turned off","nl":"Het CO-alarm gaat uit","de":"Der CO-Alarm ist ausgegangen","fr":"L\'alarme CO s\'est désactivée","it":"L\'allarme CO è stato disattivato","sv":"CO-larmet inaktiverades","no":"CO-alarmen ble deaktivert","es":"La alarma de CO se ha desactivado","da":"CO-alarmen blev deaktiveret","ru":"Сигнал CO выключен","pl":"Alarm o CO wyłączony","ko":"CO 알람 꺼짐"}}],"conditions":[{"id":"alarm_co","title":{"en":"The CO alarm is !{{on|off}}","nl":"Het CO-alarm is !{{aan|uit}}","de":"Der CO-Alarm ist !{{an|aus}}","fr":"L\'alarme CO est !{{en marche|arrêtée}}","it":"L\'allarme CO è !{{acceso|spento}}","sv":"CO-larmet är !{{på|av}}","no":"CO-alarmen er !{{på|av}}","es":"La alarma de CO está !{{activada|desactivada}}","da":"CO-alarmen er !{{på|af}}","ru":"Сигнал CO !{{вкл.|выкл.}}","pl":"Alarm CO jest !{{włączony|wyłączony}}","ko":"CO 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"CO2 alarm","nl":"CO2-alarm","de":"CO2-Alarm","fr":"Alarme CO2","it":"Allarme CO2","no":"CO2-alarm","es":"Alarma de CO2","da":"CO2-alarm","ru":"Сигнал CO2","pl":"Alarm o CO2","ko":"CO2 알람"},"desc":{"en":"True when dangerous CO2 values have been detected","nl":"Gaat af bij gevaarlijke concentraties CO2","de":"True, wenn gefährliche CO2-Werte erkannt wurden","fr":"Vrai si des valeurs dangereuses de CO2 ont été détectées","it":"Vero quando sono stati rilevati valori pericolosi di CO2","no":"Sant når farlige CO2-verdier har blitt oppdaget","es":"Activado cuando se han detectado valores peligrosos de CO2","da":"Sandt, når farlige CO2-værdier er blevet opdaget","ru":"Значение «истина» при обнаружении опасных значений CO2","pl":"Adekwatny, kiedy wykryty zostanie niebezpieczny poziom stężenia CO2","ko":"위험한 CO2 값이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"CO2 alarm turned on","nl":"CO2-alarm ging af","de":"CO2-Alarm ist angegangen","fr":"L\'alarme CO2 s\'est activée","it":"Allarme CO2 attivato","sv":"CO2-larm på","no":"CO2-alarm aktivert","es":"Alarma de CO2 activada","da":"CO2-alarm aktiveret","ru":"Сигнал CO2 включен","pl":"Alarm o CO2 włączony","ko":"CO2 알람 켜짐"},"insightsTitleFalse":{"en":"CO2 alarm turned off","nl":"CO2-alarm ging uit","de":"CO2-Alarm ist ausgegangen","fr":"L\'alarme CO2 s\'est désactivée","it":"Allarme CO2 disattivato","sv":"CO2-larm av","no":"CO2-alarm deaktivert","es":"Alarma de CO2 desactivada","da":"CO2-alarm deaktiveret","ru":"Сигнал CO2 выключен","pl":"Alarm o CO2 wyłączony","ko":"CO2 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_co2_true","highlight":true,"title":{"en":"The CO2 alarm turned on","nl":"Het CO2-alarm gaat aan","de":"Der CO2-Alarm ist angegangen","fr":"L\'alarme CO2 s\'est activée","it":"L\'allarme CO2 è stato attivato","sv":"CO2-larmet på","no":"CO2-alarmen ble aktivert","es":"La alarma de CO2 se ha activado","da":"CO2-alarmen blev aktiveret","ru":"Сигнал CO2 включен","pl":"Alarm o CO2 włączony","ko":"CO2 알람 켜짐"}},{"id":"alarm_co2_false","title":{"en":"The CO2 alarm turned off","nl":"Het CO2-alarm gaat uit","de":"Der CO2-Alarm ist ausgegangen","fr":"L\'alarme CO2 s\'est désactivée","it":"L\'allarme CO2 è stato disattivato","sv":"CO2-larmet av","no":"CO2-alarmen ble deaktivert","es":"La alarma de CO2 se ha desactivado","da":"CO2-alarmen blev deaktiveret","ru":"Сигнал CO2 выключен","pl":"Alarm o CO2 wyłączony","ko":"CO2 알람 꺼짐"}}],"conditions":[{"id":"alarm_co2","title":{"en":"The CO2 alarm is !{{on|off}}","nl":"Het CO2-alarm is !{{aan|uit}}","de":"Der CO2-Alarm ist !{{an|aus}}","fr":"L\'alarme CO2 est !{{en marche|arrêtée}}","it":"L\'allarme CO2 è !{{acceso|spento}}","sv":"CO2-larmet är !{{på|av}}","no":"CO2-alarmen er !{{på|av}}","es":"La alarma de CO2 está !{{activada|desactivada}}","da":"CO2-alarmen er !{{tændt|slukket}}","ru":"Сигнал CO2 !{{вкл.|выкл.}}","pl":"Alarm CO2 jest !{{włączony|wyłączony}}","ko":"CO2 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Cold alarm","nl":"Waarschuwing bij kou","da":"Kuldealarm","es":"Alarma de frío","fr":"Alarme de froid","it":"Allarme freddo","ko":"추움 알람","no":"Kuldealarm","pl":"Alarm zimna","ru":"Сигнал холода","sv":"Köldlarm"},"desc":{"en":"True when the temperature is too low.","nl":"Wordt geactiveerd wanneer de temperatuur te laag is.","da":"Sandt, når temperaturen er for lav.","es":"Activado cuando la temperatura es muy baja.","fr":"Se déclenche lorsque la température est trop basse.","it":"Vero quando la temperatura è troppo bassa.","ko":"온도가 너무 낮으면 참입니다.","no":"Sann når temperaturen er for lav.","pl":"Prawda, gdy temperatura jest zbyt niska.","ru":"Значение «истина», когда температура слишком низкая.","sv":"Sant när temperaturen är för låg."},"insights":true,"insightsTitleTrue":{"en":"Cold alarm turned on","nl":"Waarschuwing bij kou geactiveerd","da":"Kuldealarm tændt","es":"Alarma de frío activada","fr":"Alarme de froid activée","it":"Allarme freddo acceso","ko":"추움 알람 켜짐","no":"Kuldealarm aktivert","pl":"Alarm zimna włączony","ru":"Сигнал холода включен","sv":"Köldlarm aktiverat"},"insightsTitleFalse":{"en":"Cold alarm turned off","nl":"Waarschuwing bij kou gedeactiveerd","da":"Kuldealarm slukket","es":"Alarma de frío desactivada","fr":"Alarme de froid désactivée","it":"Allarme freddo spento","ko":"추움 알람 꺼짐","no":"Kuldealarm deaktivert","pl":"Alarm zimna wyłączony","ru":"Сигнал холода выключен","sv":"Köldlarm inaktiverat"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_cold_true","highlight":true,"title":{"en":"The cold alarm turned on","nl":"De waarschuwing bij kou is geactiveerd","da":"Kuldealarm tændt","es":"Alarma de frío activada","fr":"L\'alarme de froid s\'est activée","it":"L\'allarme freddo si è acceso","ko":"추움 알람이 켜짐","no":"Kuldealarmen ble aktivert","pl":"Włączył się alarm zimna","ru":"Сигнал холода включен","sv":"Köldlarmet aktiverat"}},{"id":"alarm_cold_false","title":{"en":"The cold alarm turned off","nl":"De waarschuwing bij kou is gedeactiveerd","da":"Kuldealarm slukket","es":"Alarma de frío desactivada","fr":"L\'alarme de froid s\'est désactivée","it":"L\'allarme freddo si è spento","ko":"추움 알람이 꺼짐","no":"Kuldealarmen ble deaktivert","pl":"Wyłączył się alarm zimna","ru":"Сигнал холода выключен","sv":"Köldlarmet inaktiverat"}}],"conditions":[{"id":"alarm_cold","title":{"en":"The cold alarm is !{{on|off}}","nl":"De waarschuwing bij kou is !{{geactiveerd|gedeactiveerd}}","da":"Kuldealarm er slået !{{til|fra}}","es":"La alarma de frío está !{{activada|desactivada}}","it":"L\'allarme freddo è !{{acceso|spento}}","ko":"추움 알람이 !{{켜짐|꺼짐}}","no":"Kuldealarmen er !{{på|av}}","pl":"Alarm zimna jest !{{włączony|wyłączony}}","ru":"Сигнал холода !{{включен|выключен}}","sv":"Köldlarmet är !{{av|på}}","fr":"L\'alarme de froid est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Connectivity alarm","nl":"Verbindingswaarschuwing","da":"Tilslutningsalarm","fr":"Alarme de connectivité","it":"Allarme connettività","ko":"연결성 알람","no":"Tilkoblingsalarm","pl":"Alarm łączności","ru":"Сигнал о подключении","sv":"Anslutningslarm","es":"Alarma de conexión"},"desc":{"en":"True when disconnected from the network.","nl":"Wordt geactiveerd wanneer het apparaat niet meer verbonden is met het netwerk.","da":"Sandt, når forbindelsen til netværket er afbrudt.","fr":"Se déclenche lorsque le réseau est déconnecté.","it":"Vero quando si è disconnessi dalla rete.","ko":"네트워크에서 연결 해제되면 참입니다.","no":"Sann når koblet fra nettverket.","pl":"Prawda, gdy nastąpiło odłączenie od sieci.","ru":"Значение «истина», когда устройство отключено от сети.","sv":"Sant när den är frånkopplad från nätverket.","es":"Activado cuando se desconecta de la red."},"insights":true,"insightsTitleTrue":{"en":"Disconnected","nl":"Niet verbonden","da":"Afbrudt","fr":"Déconnecté","it":"Disconnesso","ko":"연결 해제됨","no":"Frakoblet","pl":"Odłączone","ru":"Отключено","sv":"Frånkopplad","es":"Desconectado"},"insightsTitleFalse":{"en":"Connected","nl":"Verbonden","da":"Tilsluttet","fr":"Connecté","it":"Connesso","ko":"연결됨","no":"Tilkoblet","pl":"Połączone","ru":"Подключено","sv":"Ansluten","es":"Conectado"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_connectivity_true","highlight":true,"title":{"en":"Is disconnected","nl":"Is niet verbonden","da":"Er afbrudt","fr":"Est déconnectée","it":"È disconnesso","ko":"연결 해제됨","no":"Er frakoblet","pl":"Odłączony","ru":"Отключено","sv":"Frånkopplad","es":"Está desconectado"}},{"id":"alarm_connectivity_false","title":{"en":"Is connected","nl":"Is verbonden","da":"Er tilsluttet","fr":"Est connectée","it":"È connesso","ko":"연결됨","no":"Er tilkoblet","pl":"Połączony","ru":"Подключено","sv":"Ansluten","es":"Está conectado"}}],"conditions":[{"id":"alarm_connectivity","title":{"en":"Is !{{connected|disconnected}}","nl":"Is !{{verbonden|niet verbonden}}","da":"Er !{{tilsluttet|afbrudt}}","it":"È !{{connesso|disconnesso}}","ko":"!{{연결됨|연결 해제됨}}","no":"Er !{{frakoblet|tilkoblet}}","pl":"Jest !{{połączony|niepołączony}}","ru":"Устройство !{{подключено|отключено}}","sv":"Är !{{ansluten|frånkopplad}}","es":"Está !{{conectado|desconectado}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Contact alarm","nl":"Contactalarm","de":"Kontakt-Alarm","fr":"Alarme contact","it":"Allarme contatto","sv":"Kontaktalarm","no":"Kontaktalarm","es":"Alarma de contacto","da":"Kontaktalarm","ru":"Контактный сигнал","pl":"Alarm otwarcia","ko":"접촉 알람"},"desc":{"en":"Contact sensor, e.g. for windows (true/false)","nl":"Contact sensor, bijvoorbeeld voor ramen","de":"Kontaktsensor, z.B. für Windows (true/false)","fr":"Capteur de contact, par ex. pour les fenêtres (vrai/faux)","it":"Sensore di contatto, ad es. per le finestre (vero/falso)","sv":"Kontaktsensor, t.ex. för fönster (sant/falskt)","no":"Kontaktsensor, f.eks. for vindu (sant/usant)","es":"Sensor de contacto, p. ej., para ventanas (verdadero/falso)","da":"Kontaktsensor, f.eks. til vinduer (sandt/falsk)","ru":"Контактный датчик, например для окон (истина/ложь)","pl":"Czujnik otwarcia, np. okien (adekwatny/nieadekwatny)","ko":"접촉 센서, 예: 창문(참/거짓)"},"insights":true,"insightsTitleTrue":{"en":"Contact alarm turned on","nl":"Contact alarm ging af","de":"Kontakt-Alarm ist angegangen","fr":"Alarme contact s\'est activée","it":"Allarme di contatto attivato","sv":"Kontaktalarm aktiverat","no":"Kontaktalarm aktivert","es":"Alarma de contacto activada","da":"Kontaktalarm blev aktiveret","ru":"Контактный сигнал включен","pl":"Alarm otwarcia włączony","ko":"접촉 알람 켜짐"},"insightsTitleFalse":{"en":"Contact alarm turned off","nl":"Contact alarm ging uit","de":"Kontakt-Alarm ist ausgegangen","fr":"Alarme contact s\'est désactivée","it":"Allarme di contatto disattivato","sv":"Kontaktalarm inaktiverat","no":"Kontaktalarm deaktivert","es":"Alarma de contacto desactivada","da":"Kontaktalarm blev deaktiveret","ru":"Контактный сигнал выключен","pl":"Alarm otwarcia wyłączony","ko":"접촉 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","options":{"zoneActivity":true},"$flow":{"triggers":[{"id":"alarm_contact_true","highlight":true,"title":{"en":"The contact alarm turned on","nl":"Het contactalarm gaat aan","de":"Der Kontakt-Alarm ist angegangen","fr":"L\'alarme contact s\'est activée","it":"L\'allarme di contatto è stato attivato","sv":"Kontaktalarmet aktiverat","no":"Kontaktalarmen ble aktivert","es":"La alarma de contacto se ha activado","da":"Kontaktalarmen blev aktiveret","ru":"Контактный сигнал включен","pl":"Alarm otwarcia włączony","ko":"접촉 알람 켜짐"}},{"id":"alarm_contact_false","title":{"en":"The contact alarm turned off","nl":"Het contactalarm gaat uit","de":"Der Kontakt-Alarm ist ausgegangen","fr":"L\'alarme contact s\'est désactivée","it":"L\'allarme di contatto è stato disattivato","sv":"Kontaktalarmet inaktiverat","no":"Kontaktalarmen ble deaktivert","es":"La alarma de contacto se ha desactivado","da":"Kontaktalarmen blev deaktiveret","ru":"Контактный сигнал выключен","pl":"Alarm otwarcia wyłączony","ko":"접촉 알람 꺼짐"}}],"conditions":[{"id":"alarm_contact","title":{"en":"The contact alarm is !{{on|off}}","nl":"Het contactalarm is !{{aan|uit}}","de":"Der Kontakt-Alarm ist !{{an|aus}}","fr":"L\'alarme contact est !{{en marche|arrêtée}}","it":"L\'allarme di contatto è !{{acceso|spento}}","sv":"Kontaktalarmet är !{{på|av}}","no":"Kontaktalarmen er !{{på|av}}","es":"La alarma de contacto está !{{activada|desactivada}}","da":"Kontaktalarmen er !{{tændt|slukket}}","ru":"Контактный сигнал !{{вкл.|выкл.}}","pl":"Alarm otwarcia jest !{{włączony|wyłączony}}","ko":"접촉 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Door fault alarm","nl":"Waarschuwing bij defect aan deur","da":"Alarm for dørfejl","fr":"Alarme de défaut de porte","it":"Allarme guasto porta","ko":"도어 고장 알람","no":"Dørfeilalarm","pl":"Alarm usterki drzwi","ru":"Сигнал о неисправности двери","sv":"Larm för dörrfel","es":"Alarma de fallo en puerta"},"desc":{"en":"True when there is an issue with the door or lock.","nl":"Wordt geactiveerd wanneer er een probleem is met de deur of het slot.","da":"Sandt, når der er et problem med døren eller låsen.","fr":"Se déclenche lorsque la porte ou la serrure présente un problème.","it":"Vero quando c\'è un problema con la porta o la serratura.","ko":"도어 또는 록에 문제가 있으면 참입니다.","no":"Sann når det er et problem med døren eller låsen.","pl":"Prawda, gdy występuje problem z drzwiami lub zamkiem.","ru":"Значение «истина», когда обнаружена проблема с дверью или замком.","sv":"Sant när det finns ett problem med dörren eller låset.","es":"Activado cuando hay un problema con la puerta o la cerradura."},"insights":true,"insightsTitleTrue":{"en":"Door fault alarm turned on","nl":"Waarschuwing bij defect aan deur geactiveerd","da":"Alarm for dørfejl slået til","fr":"Alarme de défaut de porte activée","it":"Allarme guasto porta acceso","ko":"도어 고장 알람 켜짐","no":"Dørfeilalarm aktivert","pl":"Alarm usterki drzwi włączony","ru":"Сигнал о неисправности двери включен","sv":"Larm för dörrfel aktiverat","es":"Alarma de fallo en puerta activada"},"insightsTitleFalse":{"en":"Door fault alarm turned off","nl":"Waarschuwing bij defect aan deur gedeactiveerd","da":"Alarm for dørfejl slået fra","fr":"Alarme de défaut de porte désactivée","it":"Allarme guasto porta spento","ko":"도어 고장 알람 꺼짐","no":"Dørfeilalarm deaktivert","pl":"Alarm usterki drzwi wyłączony","ru":"Сигнал о неисправности двери выключен","sv":"Larm för dörrfel inaktiverat","es":"Alarma de fallo en puerta desactivada"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_door_fault_true","highlight":true,"title":{"en":"The door alarm turned on","nl":"De deurwaarschuwing is geactiveerd","da":"Døralarmen slået til","fr":"L\'alarme de la porte s\'est activée","it":"L\'allarme della porta si è acceso","ko":"도어 알람 켜짐","no":"Døralarmen ble aktivert","pl":"Włączył się alarm drzwi","ru":"Сигнал о неисправности двери включен","sv":"Dörrlarmet aktiverat","es":"La alarma de la puerta se ha activado"}},{"id":"alarm_door_fault_false","title":{"en":"The door alarm turned off","nl":"De deurwaarschuwing is gedeactiveerd","da":"Døralarmen slået fra","fr":"L\'alarme de la porte s\'est désactivée","it":"L\'allarme della porta si è spento","ko":"도어 알람 꺼짐","no":"Døralarmen ble deaktivert","pl":"Wyłączył się alarm drzwi","ru":"Сигнал о неисправности двери выключен","sv":"Dörrlarmet inaktiverat","es":"La alarma de la puerta se ha desactivado"}}],"conditions":[{"id":"alarm_door_fault","title":{"en":"The door alarm is !{{on|off}}","nl":"De deurwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Døralarmen er slået !{{til|fra}}","it":"L\'allarme della porta è !{{acceso|spento}}","ko":"도어 알람 !{{켜짐|꺼짐}}","no":"Døralarmen er !{{på|av}}","pl":"Alarm drzwi jest !{{włączony|wyłączony}}","ru":"Сигнал о неисправности двери !{{включен|выключен}}","sv":"Dörrlarmet är aktiverat !{{på|av}}","es":"La alarma de la puerta está !{{activada|desactivada}}","fr":"L\'alarme de porte est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Fire alarm","nl":"Brandalarm","de":"Feuer-Alarm","fr":"Alarme incendie","it":"Allarme antincendio","sv":"Brandlarm","no":"Brannalarm","es":"Alarma de incendios","da":"Brandalarm","ru":"Пожарный сигнал","pl":"Alarm przeciwpożarowy","ko":"화재 알람"},"desc":{"en":"True when fire has been detected","nl":"Gaat af als er brand gedetecteerd wordt","de":"True, wenn Feuer erkannt wurde","fr":"Vrai si un incendie a été détecté","it":"Vero quando è stato rilevato un incendio","sv":"Sant när brand upptäckts","no":"Sann når brann har blitt påvist","es":"Activado cuando se detecta fuego","da":"Sandt, når brand er blevet opdaget","ru":"Значение «истина» при обнаружении огня","pl":"Alarm przeciwpożarowy","ko":"화재가 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Fire alarm turned on","nl":"Brandalarm ging af","de":"Feuer-Alarm ist angegangen","fr":"Alarme incendie s\'est activée","it":"Allarme antincendio attivato","sv":"Brandlarm aktiverat","no":"Brannalarmen ble aktivert","es":"Alarma de incendios activada","da":"Brandalarm blev aktiveret","ru":"Пожарный сигнал включен","pl":"Adekwatny, kiedy wykryty zostanie pożar","ko":"화재 알람 켜짐"},"insightsTitleFalse":{"en":"Fire alarm turned off","nl":"Brandalarm ging uit","de":"Feuer-Alarm ist ausgegangen","fr":"Alarme incendie s\'est désactivée","it":"Allarme antincendio disattivato","sv":"Brandlarm inaktiverat","no":"Brannalarm deaktivert","es":"Alarma de incendios desactivada","da":"Brandalarm blev deaktiveret","ru":"Пожарный сигнал выключен","pl":"Alarm przeciwpożarowy wyłączony","ko":"화재 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_fire_true","highlight":true,"title":{"en":"The fire alarm turned on","nl":"Het brandalarm gaat aan","de":"Der Feuer-Alarm ist angegangen","fr":"L\'alarme incendie s\'est activée","it":"L\'allarme antincendio è stato attivato","sv":"Brandlarmet aktiverat","no":"Brannalarmen ble aktivert","es":"La alarma de incendios se ha activado","da":"Brandalarmen blev aktiveret","ru":"Пожарный сигнал включен","pl":"Alarm przeciwpożarowy włączony","ko":"화재 알람 켜짐"}},{"id":"alarm_fire_false","title":{"en":"The fire alarm turned off","nl":"Het brandalarm gaat uit","de":"Der Feuer-Alarm ist ausgegangen","fr":"L\'alarme incendie s\'est désactivée","it":"L\'allarme antincendio è stato disattivato","sv":"Brandlarmet inaktiverat","no":"Brannalarmen ble deaktivert","es":"La alarma de incendios se ha desactivado","da":"Brandalarmen blev deaktiveret","ru":"Пожарный сигнал выключен","pl":"Alarm przeciwpożarowy wyłączony","ko":"화재 알람 꺼짐"}}],"conditions":[{"id":"alarm_fire","title":{"en":"The fire alarm is !{{on|off}}","nl":"Het brandalarm is !{{aan|uit}}","de":"Der Feuer-Alarm ist !{{an|aus}}","fr":"L\'alarme incendie est !{{en marche|arrêtée}}","it":"L\'allarme antincendio è !{{acceso|spento}}","sv":"Brandlarmet är !{{på|av}}","no":"Brannalarmen er !{{på|av}}","es":"La alarma de incendios está !{{activada|desactivada}}","da":"Brandalarmen er !{{tændt|slukket}}","ru":"Пожарный сигнал !{{вкл.|выкл.}}","pl":"Alarm przeciwpożarowy jest !{{włączony|wyłączony}}","ko":"화재 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Gas alarm","nl":"Gaswaarschuwing","da":"Gasalarm","fr":"Alarme de gaz","it":"Allarme gas","ko":"가스 알람","no":"Gassalarm","pl":"Alarm gazu","ru":"Сигнал об утечке газа","sv":"Gaslarm","es":"Alarma de gas"},"description":{"en":"True when gas is detected","nl":"Wordt geactiveerd wanneer gas wordt gedetecteerd","da":"Sandt, når der registreres gas","fr":"Se déclenche lorsque du gaz est détecté","it":"Vero quando viene rilevato del gas","ko":"가스가 감지되면 참임","no":"Sann når gass er oppdaget","pl":"Prawda, gdy wykryty jest gaz","ru":"Значение «истина» при обнаружении газа","sv":"Sant när gas detekteras","es":"Activado cuando se detecta gas"},"insights":true,"insightsTitleTrue":{"en":"Gas alarm turned on","nl":"Gaswaarschuwing geactiveerd","da":"Gasalarm slået til","fr":"Alarme de gaz activée","it":"Allarme gas acceso","ko":"가스 알람 켜짐","no":"Gassalarm aktivert","pl":"Alarm gazu włączony","ru":"Сигнал об утечке газа включен","sv":"Gaslarm aktiverat","es":"Alarma de gas activada"},"insightsTitleFalse":{"en":"Gas alarm turned off","nl":"Gaswaarschuwing gedeactiveerd","da":"Gasalarm slået fra","fr":"Alarme de gaz désactivée","it":"Allarme gas spento","ko":"가스 알람 꺼짐","no":"Gassalarm deaktivert","pl":"Alarm gazu wyłączony","ru":"Сигнал об утечке газа выключен","sv":"Gaslarm inaktiverat","es":"Alarma de gas desactivada"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_gas_true","highlight":true,"title":{"en":"The gas alarm turned on","nl":"De gaswaarschuwing is geactiveerd","da":"Gasalarmen tændte","fr":"L\'alarme de gaz s\'est activée","it":"L\'allarme gas si è acceso","ko":"가스 알람이 켜짐","no":"Gassalarmen ble aktivert","pl":"Włączył się alarm gazu","ru":"Сигнал об утечке газа включен","sv":"Gaslarmet aktiveras","es":"La alarma de gas se ha activado"}},{"id":"alarm_gas_false","title":{"en":"The gas alarm turned off","nl":"De gaswaarschuwing is gedeactiveerd","da":"Gasalarmen slukkede","it":"L\'allarme gas si è spento","ko":"가스 알람이 꺼짐","no":"Gassalarmen ble deaktivert","pl":"Wyłączył się alarm gazu","ru":"Сигнал об утечке газа выключен","sv":"Gaslarmet inaktiverat","es":"La alarma de gas se ha desactivado","fr":"L\'alarme de gaz s\'est désactivée"}}],"conditions":[{"id":"alarm_gas","title":{"en":"The gas alarm is !{{on|off}}","nl":"De gaswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Gasalarmen er slået !{{til|fra}}","it":"L\'allarme gas è !{{acceso|spento}}","ko":"가스 알람이 !{{켜짐|꺼짐}}","no":"Gassalarmen er !{{på|av}}","pl":"Alarm gazu jest !{{włączony|wyłączony}}","ru":"Сигнал об утечке газа !{{включен|выключен}}","sv":"Gaslarmet är !{{på|av}}","es":"La alarma de gas está !{{activada|desactivada}}","fr":"L\'alarme de gaz est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Generic alarm","nl":"Algemeen alarm","de":"Allgemeiner Alarm","fr":"Alarme générique","it":"Allarme generico","sv":"Generiskt larm","no":"Generell alarm","es":"Alarma general","da":"Generisk alarm","ru":"Общий сигнал","pl":"Alarm ogólny","ko":"일반 알람"},"desc":{"en":"Generic alarm","nl":"Algemeen alarm","de":"Allgemeiner Alarm","fr":"Alarme générique","it":"Allarme generico","sv":"Generiskt larm","no":"Generell alarm","es":"Alarma general","da":"Generisk alarm","ru":"Общий сигнал","pl":"Alarm ogólny","ko":"일반 알람"},"insights":true,"insightsTitleTrue":{"en":"Generic alarm turned on","nl":"Algemeen alarm ging af","de":"Allgemeiner Alarm ist angegangen","fr":"Alarme générique s\'est activée","it":"Allarme generico attivato","sv":"Generiskt larm aktiverat","no":"Generell alarm aktivert","es":"Alarma general activada","da":"Generisk alarm blev aktiveret","ru":"Общий сигнал включен","pl":"Alarm ogólny włączony","ko":"일반 알람 켜짐"},"insightsTitleFalse":{"en":"Generic alarm turned off","nl":"Algemeen alarm ging uit","de":"Allgemeiner Alarm ist ausgegangen","fr":"Alarme générique s\'est désactivée","it":"Allarme generico disattivato","sv":"Generiskt larm inaktiverat","no":"Generell alarm deaktivert","es":"Alarma general desactivada","da":"Generisk alarm blev deaktiveret","ru":"Общий сигнал выключен","pl":"Alarm ogólny wyłączony","ko":"일반 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_generic_true","title":{"en":"The generic alarm turned on","nl":"Het algemene alarm gaat aan","de":"Der allgemeine Alarm ist angegangen","fr":"L\'alarme générique s\'est activée","it":"L\'allarme generico è stato attivato","sv":"Det generiska larmet är aktiverat","no":"Den generelle alarmen ble aktivert","es":"La alarma general se ha activado","da":"Den generiske alarm blev aktiveret","ru":"Общий сигнал включен","pl":"Alarm ogólny włączony","ko":"일반 알람 켜짐"}},{"id":"alarm_generic_false","title":{"en":"The generic alarm turned off","nl":"Het algemene alarm ging uit","de":"Der allgemeine Alarm ist ausgegangen","fr":"L\'alarme générique s\'est désactivée","it":"L\'allarme generico è stato disattivato","sv":"Det generiska larmet är inaktiverat","no":"Den generelle alarmen ble deaktivert","es":"La alarma general se ha desactivado","da":"Den generiske alarm blev deaktiveret","ru":"Общий сигнал выключен","pl":"Alarm ogólny wyłączony","ko":"일반 알람 꺼짐"}}],"conditions":[{"id":"alarm_generic","title":{"en":"The generic alarm is !{{on|off}}","nl":"Het algemene alarm is !{{aan|uit}}","de":"Der allgemeine Alarm ist !{{an|aus}}","fr":"L\'alarme générique est !{{en marche|arrêtée}}","it":"L\'allarme generico è !{{acceso|spento}}","sv":"Det generiska larmet är !{{på|av}}","no":"Den generelle alarmen er !{{på|av}}","es":"La alarma general está !{{activada|desactivada}}","da":"Den generiske alarm er !{{tændt|slukket}}","ru":"Общий сигнал !{{вкл.|выкл.}}","pl":"Alarm ogólny jest !{{włączony|wyłączony}}","ko":"일반 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Heat alarm","nl":"Hitte-alarm","de":"Hitze-Alarm","fr":"Alarme chaleur","it":"Allarme di calore","sv":"Värmelarm","no":"Varmealarm","es":"Alarma de calor","da":"Varmealarm","ru":"Сигнал перегрева","pl":"Alarm termiczny","ko":"과열 알람"},"desc":{"en":"True when extreme heat has been detected","nl":"Gaat af als er extreme hitte gedetecteerd wordt","de":"True, wenn extreme Hitze erkannt wurde","fr":"Vrai si une chaleur extrême a été détectée","it":"Vero quando è stato rilevato un calore estremo","sv":"Sant när extrem hetta upptäckts","no":"Sann når ekstrem varme har blitt påvist","es":"Activado cuando se detecta calor extremo","da":"Sandt, når ekstrem varme er blevet opdaget","ru":"Значение «истина» при обнаружении экстремально высокой температуры","pl":"Adekwatny, kiedy wykryta zostanie ekstremalnie wysoka temperatura","ko":"과도한 열이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Heat alarm turned on","nl":"Hittealarm ging af","de":"Hitze-Alarm ist angegangen","fr":"Alarme chaleur s\'est activée","it":"Allarme di calore attivato","sv":"Värmelarm aktiverat","no":"Varmealarm aktivert","es":"Alarma de calor activada","da":"Varmealarm blev aktiveret","ru":"Сигнал перегрева включен","pl":"Alarm termiczny włączony","ko":"과열 알람 켜짐"},"insightsTitleFalse":{"en":"Heat alarm turned off","nl":"Hittealarm ging uit","de":"Hitze-Alarm ist ausgegangen","fr":"Alarme chaleur s\'est désactivée","it":"Allarme di calore disattivato","sv":"Värmelarm inaktiverat","no":"Varmealarm deaktivert","es":"Alarma de calor desactivada","da":"Varmealarm blev deaktiveret","ru":"Сигнал перегрева выключен","pl":"Alarm termiczny wyłączony","ko":"과열 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_heat_true","highlight":true,"title":{"en":"The heat alarm turned on","nl":"Het hitte-alarm gaat aan","de":"Der Hitze-Alarm ist angegangen","fr":"L\'alarme chaleur s\'est activée","it":"L\'allarme di calore è stato attivato","sv":"Värmelarmet aktiverat","no":"Varmealarmen ble aktivert","es":"La alarma de calor se ha activado","da":"Varmealarmen blev aktiveret","ru":"Сигнал перегрева включен","pl":"Alarm termiczny włączony","ko":"과열 알람 켜짐"}},{"id":"alarm_heat_false","title":{"en":"The heat alarm turned off","nl":"Het hitte-alarm gaat uit","de":"Der Hitze-Alarm ist ausgegangen","fr":"L\'alarme chaleur s\'est désactivée","it":"L\'allarme di calore è stato disattivato","sv":"Värmelarmet inaktiverat","no":"Varmealarmen ble deaktivert","es":"La alarma de calor se ha desactivado","da":"Varmealarmen blev deaktiveret","ru":"Сигнал перегрева выключен","pl":"Alarm termiczny wyłączony","ko":"과열 알람 꺼짐"}}],"conditions":[{"id":"alarm_heat","title":{"en":"The heat alarm is !{{on|off}}","nl":"Het hitte-alarm is !{{aan|uit}}","de":"Der Hitze-Alarm ist !{{an|aus}}","fr":"L\'alarme chaleur est !{{en marche|arrêtée}}","it":"L\'allarme di calore è !{{acceso|spento}}","sv":"Värmelarmet är !{{på|av}}","no":"Varmealarmen er !{{på|av}}","es":"La alarma de calor está !{{activada|desactivada}}","da":"Varmealarmen er !{{tændt|slukket}}","ru":"Сигнал перегрева !{{вкл.|выкл.}}","pl":"Alarm termiczny jest !{{włączony|wyłączony}}","ko":"과열 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Light alarm","nl":"Lichtwaarschuwing","da":"Lysalarm","it":"Allarme luce","ko":"빛 알람","no":"Lysalarm","pl":"Alarm światła","ru":"Сигнал об освещении","sv":"Ljuslarm","es":"Alarma de luz","fr":"Alarme de lumière"},"desc":{"en":"True when light is detected.","nl":"Wordt geactiveerd wanneer licht wordt gedetecteerd.","da":"Sandt, når der registreres lys.","it":"Vero quando viene rilevata la luce.","ko":"빛이 감지되면 참입니다.","no":"Sann når lys er registrert.","pl":"Prawda, gdy wykryte jest światło.","ru":"Значение «истина» при обнаружении элемента освещения.","sv":"Sant när ljus detekteras.","es":"Activado cuando se detecta luz.","fr":"Se déclenche lorsque de la lumière est détectée."},"insights":true,"insightsTitleTrue":{"en":"Light was detected","nl":"Er werd licht gedetecteerd","da":"Lys blev registreret","it":"La luce è stata rilevata","ko":"빛이 감지됨","no":"Lys ble registrert","pl":"Światło było wykryte","ru":"Элемент освещения был обнаружен","sv":"Ljus detekterades","es":"Se ha detectado luz","fr":"De la lumière a été détectée"},"insightsTitleFalse":{"en":"Light was no longer detected","nl":"Er werd geen licht meer gedetecteerd","da":"Lyset blev ikke længere registreret","it":"La luce non è più rilevata","ko":"빛이 더 이상 감지되지 않음","no":"Lys ble ikke lenger registrert","pl":"Światło nie było już wykryte","ru":"Элемент освещения больше не обнаруживался","sv":"Ljus detekterades inte längre","es":"No hay luz detectada","fr":"La lumière n\'est plus détectée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_light_true","highlight":true,"title":{"en":"Light is detected","nl":"Er wordt licht gedetecteerd","da":"Der er registreret lys","it":"Luce rilevata","ko":"빛 감지됨","no":"Lys er registrert","pl":"Światło jest wykryte","ru":"Элемент освещения обнаружен","sv":"Ljus detekteras","es":"Se detecta luz","fr":"De la lumière est détectée"}},{"id":"alarm_light_false","title":{"en":"Light is no longer detected","nl":"Er wordt geen licht meer gedetecteerd","da":"Lyset registreres ikke længere","it":"La luce non è più rilevata","ko":"더 이상 빛 감지되지 않음","no":"Lys registreres ikke lenger","pl":"Światło nie jest już wykryte","ru":"Элемент освещения больше не обнаруживается","sv":"Ljus detekteras inte längre","es":"Ya no se detecta luz","fr":"La lumière n\'est plus détectée"}}],"conditions":[{"id":"alarm_light","title":{"en":"Light !{{is|is not}} detected","nl":"Er !{{wordt|wordt geen}} licht gedetecteerd","da":"Lys !{{er|er ikke}} registreret","it":"La luce !{è|non è}} rilevata","ko":"빛 감지!{{됨|되지 않음}}","no":"Lys !{{er|er}} ikke registrert","pl":"Światło !{{jest|nie jest}} wykryte","ru":"Элемент освещения !{{обнаружен|не обнаружен}}","sv":"Ljus !{{har|har inte}} detekterats","es":"!{{Se detecta|No se detecta}} luz","fr":"Lumière !{{détectée|non détectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Lost alarm","nl":"Waarschuwing bij zoekraking","da":"Forsvundet alarm","it":"Allarme perso","ko":"분실 알람","no":"Mistet-alarm","pl":"Alarm zgubienia","ru":"Сигнал о потере","sv":"Förlorat-larm","es":"Alarma de pérdida","fr":"Alarme de perte"},"desc":{"en":"True when the device is lost.","nl":"Wordt geactiveerd wanneer het apparaat zoek is.","da":"Sandt, når enheden er forsvundet.","it":"Vero quando il dispositivo viene perso.","ko":"디바이스를 분실하면 참입니다.","no":"Sann når enheten er mistet.","pl":"Prawda, gdy urządzenie jest zgubione.","ru":"Значение «истина», когда устройство потеряно.","sv":"Sant när enheten förloras.","es":"Activado cuando se ha perdido el dispositivo.","fr":"Se déclenche lorsque l\'appareil est perdu."},"insights":true,"insightsTitleTrue":{"en":"Was lost","nl":"Was zoek","da":"Forsvandt","it":"È stato perso","ko":"분실됨","no":"Ble mistet","pl":"Było zgubione","ru":"Было потеряно","sv":"Förlorades","es":"Estaba perdido","fr":"Était perdu"},"insightsTitleFalse":{"en":"Was no longer lost","nl":"Was gevonden","da":"Var ikke længere forsvundet","it":"Non era più perso","ko":"더 이상 분실되지 않음","no":"Var ikke lenger mistet","pl":"Nie było już zgubione","ru":"Больше не потеряно","sv":"Var inte längre förlorad","es":"Ya no estaba perdido","fr":"N\'était plus perdu"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_lost_true","highlight":true,"title":{"en":"Is lost","nl":"Is zoek","da":"Er forsvundet","it":"È perso","ko":"분실함","no":"Er mistet","pl":"Jest zgubione","ru":"Потеряно","sv":"Är förlorad","es":"Se ha perdido","fr":"Est perdu"}},{"id":"alarm_lost_false","title":{"en":"Is no longer lost","nl":"Is gevonden","da":"Er ikke længere forsvundet","it":"Non è più perso","ko":"더 이상 분실 아님","no":"Er ikke lenger mistet","pl":"Nie jest już zgubione","ru":"Больше не потеряно","sv":"Är inte längre förlorad","es":"Ya no está perdido","fr":"N\'est plus perdu"}}],"conditions":[{"id":"alarm_lost","title":{"en":"Is !{{lost|not lost}}","nl":"Is !{{zoek|gevonden}}","da":"Er !{{forsvundet|ikke forsvundet}}","it":"È !{{perso|non perso}}","ko":"!{{분실함|분실 아님}}","no":"Er !{{mistet|ikke mistet}}","pl":"!{{jest zgubione|nie jest zgubione}} ","ru":"Устройство !{{потеряно|не потеряно}}","sv":"Är !{{förlorad|inte förlorad}}","es":"{{Se ha perdido|Ya no esta perdido}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Moisture alarm","nl":"Vochtwaarschuwing","da":"Fugtalarm","it":"Allarme umidità","ko":"습기 알림","no":"Fuktalarm","pl":"Alarm wilgoci","ru":"Сигнал влаги","sv":"Fuktlarm","es":"Alarma de humedad","fr":"Alarme d\'humidité"},"desc":{"en":"True when moisture is detected.","nl":"Wordt geactiveerd wanneer vocht wordt gedetecteerd.","da":"Sandt, når der registreres fugt.","it":"Vero quando viene rilevata umidità.","ko":"습기가 감지되면 참입니다.","no":"Sann når fuktighet er oppdaget.","pl":"Prawda, gdy wykryta jest wilgoć.","ru":"Значение «истина» при обнаружении влаги.","sv":"Sant när fukt detekteras.","es":"Activado cuando se detecta humedad.","fr":"Se déclenche lorsque de l\'humidité est détectée."},"insights":true,"insightsTitleTrue":{"en":"Moisture Alarm turned on","nl":"Vochtwaarschuwing geactiveerd","da":"Fugtalarm slået til","it":"Allarme umidità acceso","ko":"습기 알람 켜짐","no":"Fuktalarm aktivert","pl":"Alarm wilgoci włączony","ru":"Сигнал влаги включен","sv":"Fuktlarm aktiverat","es":"Alarma de humedad activada","fr":"Alarme d\'humidité activée"},"insightsTitleFalse":{"en":"Moisture Alarm turned off","nl":"Vochtwaarschuwing gedeactiveerd","da":"Fugtalarm slået fra","it":"Allarme umidità spento","ko":"습기 알람 꺼짐","no":"Fuktalarm deaktivert","pl":"Alarm wilgoci wyłączony","ru":"Сигнал влаги выключен","sv":"Fuktlarmet inaktiverat","es":"Alarma de humedad desactivada","fr":"Alarme d\'humidité désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_moisture_true","highlight":true,"title":{"en":"The moisture alarm turned on","nl":"De vochtwaarschuwing is geactiveerd","da":"Fugtalarmen er slået til","it":"L\'allarme umidità si è acceso","ko":"습기 알람이 켜짐","no":"Fuktalarmen ble aktivert","pl":"Włączył się alarm wilgoci","ru":"Сигнал влаги включен","sv":"Fuktlarmet är aktiverat","es":"La alarma de humedad se ha activado","fr":"L\'alarme d\'humidité s\'est activée"}},{"id":"alarm_moisture_false","title":{"en":"The moisture alarm turned off","nl":"De vochtwaarschuwing is gedeactiveerd","da":"Fugtalarmen er slået fra","it":"L\'allarme umidità si è spento","ko":"습기 알람이 꺼짐","no":"Fuktalarmen ble deaktivert","pl":"Wyłączył się alarm wilgoci","ru":"Сигнал влаги выключен","sv":"Fuktlarmet inaktiverat","es":"La alarma de humedad se ha desactivado","fr":"L\'alarme d\'humidité s\'est désactivée"}}],"conditions":[{"id":"alarm_moisture","title":{"en":"The moisture alarm is !{{on|off}}","nl":"De vochtwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Fugtalarmen er slået !{{til|fra}}","it":"L\'allarme umidità è !{{acceso|spento}}","ko":"습기 알람이 !{{켜짐|꺼짐}}","no":"Fuktalarmen er !{{på|av}}","pl":"Alarm wilgoci jest !{{włączony|wyłączony}}","ru":"Сигнал влаги !{{включен|выключен}}","sv":"Fuktlarmet är aktiverat !{{på|av}}","es":"La alarma de humedad está !{{activada|desactivada}}","fr":"L\'alarme d\'humidité est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Motion alarm","nl":"Bewegingsalarm","de":"Bewegungs-Alarm","fr":"Alarme mouvement","it":"Allarme di movimento","sv":"Rörelselarm","no":"Bevegelsesalarm","es":"Alarma de movimiento","da":"Bevægelsesalarm","ru":"Сигнал движения","pl":"Czujnik ruchu","ko":"모션 알람"},"insights":true,"insightsTitleTrue":{"en":"Motion alarm turned on","nl":"Bewegingsalarm ging af","de":"Bewegungs-Alarm ist angegangen","fr":"Alarme mouvement s\'est déclenchée","it":"Allarme di movimento attivato","sv":"Rörelselarm aktiverat","no":"Bevegelsesalarm aktivert","es":"Alarma de movimiento activada","da":"Bevægelsesalarm blev aktiveret","ru":"Сигнал движения включен","pl":"Czujnik ruchu włączony","ko":"모션 알람 켜짐"},"insightsTitleFalse":{"en":"Motion alarm turned off","nl":"Bewegingsalarm ging uit","de":"Bewegungs-Alarm ist ausgegangen","fr":"Alarme mouvement s\'est désactivée","it":"Allarme di movimento disattivato","sv":"Rörelselarm inaktiverat","no":"Bevegelsesalarm deaktivert","es":"Alarma de movimiento desactivada","da":"Bevægelsesalarm blev deaktiveret","ru":"Сигнал движения выключен","pl":"Czujnik ruchu wyłączony","ko":"모션 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","options":{"zoneActivity":true},"$flow":{"triggers":[{"id":"alarm_motion_true","highlight":true,"title":{"en":"The motion alarm turned on","nl":"De bewegingsmelder gaat aan","de":"Der Bewegungs-Alarm ist angegangen","fr":"L\'alarme mouvement s\'est activée","it":"L\'allarme di movimento è stato attivato","sv":"Rörelselarmet aktiverat","no":"Bevegelsesalarmen ble aktivert","es":"La alarma de movimiento se ha activado","da":"Bevægelsesalarmen blev aktiveret","ru":"Сигнал движения включен","pl":"Czujnik ruchu włączony","ko":"모션 알람 켜짐"}},{"id":"alarm_motion_false","title":{"en":"The motion alarm turned off","nl":"De bewegingsmelder gaat uit","de":"Der Bewegungs-Alarm ist ausgegangen","fr":"L\'alarme mouvement s\'est désactivée","it":"L\'allarme di movimento è stato disattivato","sv":"Rörelselarmet inaktiverat","no":"Bevegelsesalarmen ble deaktivert","es":"La alarma de movimiento se ha desactivado","da":"Bevægelsesalarmen blev deaktiveret","ru":"Сигнал движения выключен","pl":"Czujnik ruchu wyłączony","ko":"모션 알람 꺼짐"}}],"conditions":[{"id":"alarm_motion","title":{"en":"The motion alarm is !{{on|off}}","nl":"De bewegingsmelder is !{{aan|uit}}","de":"Der Bewegungs-Alarm ist !{{an|aus}}","fr":"L\'alarme mouvement est !{{en marche|arrêtée}}","it":"L\'allarme di movimento è !{{acceso|spento}}","sv":"Rörelselarmet är !{{på|av}}","no":"Bevegelsesalarmen er !{{på|av}}","es":"La alarma de movimiento está !{{activada|desactivada}}","da":"Bevægelsesalarmen er !{{tændt|slukket}}","ru":"Сигнал движения !{{вкл.|выкл.}}","pl":"Czujnik ruchu jest !{{włączony|wyłączony}}","ko":"모션 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Night alarm","nl":"Nachtalarm","de":"Nacht-Alarm","fr":"Alarme nuit","it":"Allarme notturno","sv":"Nattlarm","no":"Nattalarm","es":"Alarma nocturna","da":"Natalarm","ru":"Ночной сигнал","pl":"Alarm nocny","ko":"밤 알람"},"desc":{"en":"True when it is night","nl":"Gaat af als het nacht is","de":"True, wenn es Nacht ist","fr":"Vrai quand il fait nuit","it":"Vero quando è notte","sv":"Sant när det är natt","no":"Sant når det er natt","es":"Activado cuando es de noche","da":"Sandt, når det er nat","ru":"Значение «истина» ночью","pl":"Adekwatny, kiedy jest noc","ko":"밤이 되면 참"},"insights":true,"insightsTitleTrue":{"en":"Night alarm turned on","nl":"Nachtalarm ging af","de":"Nacht-Alarm ist angegangen","fr":"Alarme nuit s\'est activée","it":"Allarme notturno attivato","sv":"Nattlarm aktiverat","no":"Nattalarm aktivert","es":"Alarma nocturna activada","da":"Natalarm blev aktiveret","ru":"Ночной сигнал включен","pl":"Alarm nocny włączony","ko":"밤 알람 켜짐"},"insightsTitleFalse":{"en":"Night alarm turned off","nl":"Nachtalarm ging uit","de":"Nacht-Alarm ist ausgegangen","fr":"Alarme nuit s\'est désactivée","it":"Allarme notturno disattivato","sv":"Nattlarm inaktiverat","no":"Nattalarm deaktivert","es":"Alarma nocturna desactivada","da":"Natalarm blev deaktiveret","ru":"Ночной сигнал выключен","pl":"Alarm nocny wyłączony","ko":"밤 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_night_true","title":{"en":"The night alarm turned on","nl":"Het nachtalarm gaat aan","de":"Der Nacht-Alarm ist angegangen","fr":"L\'alarme nuit s\'est activée","it":"L\'allarme notturno è stato attivato","sv":"Nattlarmet aktiverat","no":"Nattalarmen ble aktivert","es":"La alarma nocturna se ha activado","da":"Natalarmen blev aktiveret","ru":"Ночной сигнал включен","pl":"Alarm nocny włączony","ko":"밤 알람 켜짐"}},{"id":"alarm_night_false","title":{"en":"The night alarm turned off","nl":"Het nachtalarm gaat uit","de":"Der Nacht-Alarm ist ausgegangen","fr":"L\'alarme nuit s\'est désactivée","it":"L\'allarme notturno è stato disattivato","sv":"Nattlarmet inaktiverat","no":"Nattalarmen ble deaktivert","es":"La alarma nocturna se ha desactivado","da":"Natalarmen blev deaktiveret","ru":"Ночной сигнал выключен","pl":"Alarm nocny wyłączony","ko":"밤 알람 꺼짐"}}],"conditions":[{"id":"alarm_night","title":{"en":"The night alarm is !{{on|off}}","nl":"Het nachtalarm is !{{aan|uit}}","de":"Der Nacht-Alarm ist !{{an|aus}}","fr":"L\'alarme nuit est !{{en marche|arrêtée}}","it":"L\'allarme notturno è !{{acceso|spento}}","sv":"Nattlarmet är !{{på|av}}","no":"Nattalarmen er !{{på|av}}","es":"La alarma nocturna está !{{activada|desactivada}}","da":"Natalarmen er !{{tændt|slukket}}","ru":"Ночной сигнал !{{вкл.|выкл.}}","pl":"Alarm nocny jest !{{włączony|wyłączony}}","ko":"밤 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Noise alarm","nl":"Geluidswaarschuwing","da":"Støjalarm","it":"Allarme rumore","ko":"소음 알람","no":"Støyalarm","pl":"Alarm hałasu","ru":"Сигнал шума","sv":"Bullerlarm","es":"Alarma de ruido","fr":"Alarme sonore"},"desc":{"en":"True when sound is detected.","nl":"Wordt geactiveerd wanneer geluid wordt gedetecteerd.","da":"Sandt, når der registreres lyd.","it":"Vero quando viene rilevato un suono.","ko":"소리가 감지되면 참입니다.","no":"Sann når lyd registreres.","pl":"Prawda, gdy wykryty jest dźwięk.","ru":"Значение «истина» при обнаружении звука.","sv":"Sant när ljud detekteras.","es":"Activado cuando se detecta sonido.","fr":"Se déclenche lorsque du son est détecté."},"insights":true,"insightsTitleTrue":{"en":"Noise Alarm turned on","nl":"Geluidswaarschuwing geactiveerd","da":"Støjalarm slået til","it":"Allarme rumore acceso","ko":"소음 알람 켜짐","no":"Støyalarm aktivert","pl":"Alarm hałasu włączony","ru":"Сигнал шума включен","sv":"Bullerlarm aktiverat","es":"Alarma de ruido activada","fr":"Alarme sonore activée"},"insightsTitleFalse":{"en":"Noise Alarm turned off","nl":"Geluidswaarschuwing gedeactiveerd","da":"Støjalarm slået fra","it":"Allarme rumore spento","ko":"소음 알람 꺼짐","no":"Støyalarm deaktivert","pl":"Alarm hałasu wyłączony","ru":"Сигнал шума выключен","sv":"Bullerlarm inaktiverat","es":"Alarma de ruido desactivada","fr":"Alarme sonore désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_noise_true","highlight":true,"title":{"en":"The noise alarm turned on","nl":"De geluidswaarschuwing is geactiveerd","da":"Støjalarmen er slået til","it":"L\'allarme rumore si è acceso","ko":"소음 알람이 켜짐","no":"Støyalarmen ble aktivert","pl":"Włączył się alarm hałasu","ru":"Сигнал шума включен","sv":"Bullerlarm aktiverat","es":"La alarma de ruido se ha activado","fr":"L\'alarme sonore s\'est activée"}},{"id":"alarm_noise_false","title":{"en":"The noise alarm turned off","nl":"De geluidswaarschuwing is gedeactiveerd","da":"Støjalarmen slået fra","it":"L\'allarme rumore si è spento","ko":"소음 알람이 꺼짐","no":"Støyalarmen ble deaktivert","pl":"Wyłączył się alarm hałasu","ru":"Сигнал шума выключен","sv":"Bullerlarm inaktiverat","es":"La alarma de ruido se ha desactivado","fr":"L\'alarme sonore s\'est désactivée"}}],"conditions":[{"id":"alarm_noise","title":{"en":"The noise alarm is !{{on|off}}","nl":"De geluidswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Støjalarmen er slået !{{til|fra}}","it":"L\'allarme rumore è !{{acceso|spento}}","ko":"소음 알람이 !{{켜짐|꺼짐}}","no":"Støyalarmen er !{{på|av}}","pl":"Alarm hałasu jest !{{włączony|wyłączony}}","ru":"Сигнал шума !{{включен|выключен}}","sv":"Bullerlarmet är aktiverat !{{på|av}}","es":"La alarma de ruido está !{{activada|desactivada}}","fr":"L\'alarme sonore est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Occupancy alarm","nl":"Waarschuwing bij gebruik","da":"Tilstedeværelsesalarm","it":"Allarme occupazione","ko":"사람 있음 알람","no":"Bruksalarm","pl":"Alarm zajętości","ru":"Сигнал о занятости","sv":"Närvarolarm","es":"Alarma de ocupación","fr":"Alarme d\'occupation"},"desc":{"en":"True when occupancy is detected.","nl":"Wordt geactiveerd wanneer gebruik wordt gedetecteerd.","da":"Sandt, når tilstedeværelse registreres.","it":"Vero quando viene rilevata l\'occupazione.","ko":"내부에 사람이 감지되면 참입니다.","no":"Sann når bruk er registrert.","pl":"Prawda, gdy wykryta jest zajętość.","ru":"Значение «истина» при обнаружении занятости.","sv":"Sant när närvaro detekteras.","es":"Activado cuando se detecta ocupación.","fr":"Se déclenche lorsque une occupation est détectée."},"insights":true,"insightsTitleTrue":{"en":"Occupancy alarm turned on","nl":"Waarschuwing bij gebruik geactiveerd","da":"Tilstedeværelsesalarm slået til","it":"Allarme occupazione acceso","ko":"사람 있음 알람 켜짐","no":"Bruksalarm aktivert","pl":"Alarm zajętości włączony","ru":"Сигнал о занятости включен","sv":"Närvarolarm aktiverat","es":"Alarma de ocupación activada","fr":"Alarme d\'occupation activée"},"insightsTitleFalse":{"en":"Occupancy alarm turned off","nl":"Waarschuwing bij gebruik gedeactiveerd","da":"Tilstedeværelsesalarm slået fra","it":"Allarme occupazione spento","ko":"사람 있음 알람 꺼짐","no":"Bruksalarm deaktivert","pl":"Alarm zajętości wyłączony","ru":"Сигнал о занятости выключен","sv":"Närvarolarm inaktiverat","es":"Alarma de ocupación desactivada","fr":"Alarme d\'occupation désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_occupancy_true","highlight":true,"title":{"en":"The occupancy alarm turned on","nl":"De waarschuwing bij gebruik is geactiveerd","da":"Tilstedeværelsesalarmen er slået til","it":"L\'allarme occupazione si è acceso","ko":"사람 있음 알람이 켜짐","no":"Bruksalarmen ble aktivert","pl":"Włączył się alarm zajętości","ru":"Сигнал о занятости включен","sv":"Närvarolarmet aktiverat","es":"La alarma de ocupación se ha activado","fr":"L\'alarme d\'occupation s\'est activée"}},{"id":"alarm_occupancy_false","title":{"en":"The occupancy alarm turned off","nl":"De waarschuwing bij gebruik is gedeactiveerd","da":"Tilstedeværelsesalarmen er slået fra","it":"L\'allarme occupazione si è spento","ko":"사람 있음 알람이 꺼짐","no":"Bruksalarmen ble deaktivert","pl":"Wyłączył się alarm zajętości","ru":"Сигнал о занятости выключен","sv":"Närvarolarmet inaktiverat","es":"La alarma de ocupación se ha desactivado","fr":"L\'alarme d\'occupation s\'est désactivée"}}],"conditions":[{"id":"alarm_occupancy","title":{"en":"Is !{{occupied|not occupied}}","nl":"Wordt !{{gebruikt|niet gebruikt}}","da":"Er ! {{beboet|ikke beboet}}","it":"È !{{occupato|non occupato}}","ko":"내부에 사람 !{{있음|없음}}","no":"Er !{{i bruk|ikke i bruk}}","pl":"Jest !{{zajęte|niezajęte}}","ru":"Устройство !{{занято|не занято}}","sv":"Är !{{närvarande|inte närvarande}}","es":"!{{Está ocupado|No está ocupado}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM0.1 alarm","nl":"PM0.1-waarschuwing","de":"PM0.1-Alarm","fr":"Alarme PM0.1","it":"Allarme PM0.1","sv":"PM0.1-larm","no":"PM0.1-alarm","es":"Alarma de PM0,1","da":"PM0.1-alarm","ru":"Сигнал ТЧ0.1","pl":"Alarm PM0.1","ko":"PM0.1 알람"},"desc":{"en":"True when PM0.1 values exceeds threshold","nl":"Wordt geactiveerd wanneer PM0.1-waarden de drempel overschrijden","de":"True, wenn PM0.1-Werte die Schwelle überschreiten","fr":"Se déclenche lorsque les valeurs PM0.1 excèdent un seuil","it":"Vero quando i valori PM0.1 superano la soglia","sv":"Sant när PM0.1-värdena överstiger gränsvärdet","no":"Sann når PM0.1-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM0,1 superan el límite","da":"Sandt, når PM0.1-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ0.1","pl":"Prawda, gdy wartości PM0.1 przekraczają próg","ko":"PM0.1 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM0.1 alarm turned on","nl":"PM0.1-waarschuwing geactiveerd","de":"PM0.1-Alarm ist angegangen","fr":"Alarme PM0.1 activée","it":"Allarme PM0.1 acceso","sv":"PM0.1-larm aktiverat","no":"PM0.1-alarm aktivert","es":"Alarma de PM0,1 activada","da":"PM0.1-alarm blev aktiveret","ru":"Сигнал ТЧ0.1 включен","pl":"Alarm PM0.1 włączony","ko":"PM0.1 알람 켜짐"},"insightsTitleFalse":{"en":"PM0.1 alarm turned off","nl":"PM0.1-waarschuwing gedeactiveerd","de":"PM0.1-Alarm ist ausgegangen","fr":"Alarme PM0.1 désactivée","it":"Allarme PM0.1 spento","sv":"PM0.1-larm inaktiverat","no":"PM0.1-alarm deaktivert","es":"Alarma de PM0,1 desactivada","da":"PM0.1-alarm blev deaktiveret","ru":"Сигнал ТЧ0.1 выключен","pl":"Alarm PM0.1 wyłączony","ko":"PM0.1 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm01_true","highlight":true,"title":{"en":"The PM0.1 alarm turned on","nl":"De PM0.1-waarschuwing is geactiveerd","de":"Der PM0.1-Alarm ist angegangen","fr":"L\'alarme PM0.1 s\'est activée","it":"L\'allarme PM0.1 si è acceso","sv":"PM0.1-larmet aktiverat","no":"PM0.1-alarmen ble aktivert","es":"La alarma de PM0,1 se ha activado","da":"PM0.1-alarmen blev aktiveret","ru":"Сигнал ТЧ0.1 включен","pl":"Włączył się alarm PM0.1","ko":"PM0.1 알람이 켜짐"}},{"id":"alarm_pm01_false","title":{"en":"The PM0.1 alarm turned off","nl":"De PM0.1-waarschuwing is gedeactiveerd","de":"Der PM0.1-Alarm ist ausgegangen","fr":"L\'alarme PM0.1 s\'est désactivée","it":"L\'allarme PM0.1 si è spento","sv":"PM0.1-larmet inaktiverat","no":"PM0.1-alarmen ble deaktivert","es":"La alarma de PM0,1 se ha desactivado","da":"PM0.1-alarmen blev deaktiveret","ru":"Сигнал ТЧ0.1 выключен","pl":"Wyłączył się alarm PM0.1","ko":"PM0.1 알람이 꺼짐"}}],"conditions":[{"id":"alarm_pm01","title":{"en":"The PM0.1 alarm is !{{on|off}}","nl":"De PM0.1-waarschuwing is !{{geactiveerd|gedeactiveerd}}","de":"Der PM0.1-Alarm ist !{{an|aus}}","fr":"L\'alarme PM0.1 est !{{activée|désactivée}}","it":"L\'allarme PM0.1 è !{{acceso|spento}}","sv":"PM0.1-larmet är !{{på|av}}","no":"PM0.1-alarmen er !{{på|av}}","es":"La alarma de PM0,1 está !{{activada|desactivada}}","da":"PM0.1-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ0.1 !{{включен|выключен}}","pl":"Alarm PM0.1 jest !{{włączony|wyłączony}}","ko":"PM0.1 알람이 !{{켜짐|꺼짐}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM1 alarm","nl":"PM1-waarschuwing","de":"PM1-Alarm","fr":"Alarme PM1","it":"Allarme PM1","sv":"PM1-larm","no":"PM1-alarm","es":"Alarma de PM1","da":"PM1-alarm","ru":"Сигнал ТЧ1","pl":"Alarm PM1","ko":"PM1 알람"},"desc":{"en":"True when PM1 values exceeds threshold","nl":"Wordt geactiveerd wanneer PM1-waarden de drempel overschrijden","de":"True, wenn PM1-Werte die Schwelle überschreiten","fr":"Se déclenche lorsque les valeurs PM1 excèdent un seuil","it":"Vero quando i valori PM1 superano la soglia","sv":"Sant när PM1-värdena överstiger gränsvärdet","no":"Sann når PM1-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM1 superan el límite","da":"Sandt, når PM1-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ1","pl":"Prawda, gdy wartości PM1 przekraczają próg","ko":"PM1 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM1 alarm turned on","nl":"PM1-waarschuwing geactiveerd","de":"PM1-Alarm ist angegangen","fr":"Alarme PM1 activée","it":"Allarme PM1 acceso","sv":"PM1-larm aktiverat","no":"PM1-alarm aktivert","es":"Alarma de PM1 activada","da":"PM1-alarm blev aktiveret","ru":"Сигнал ТЧ1 включен","pl":"Alarm PM1 włączony","ko":"PM1 알람 켜짐"},"insightsTitleFalse":{"en":"PM1 alarm turned off","nl":"PM1-waarschuwing gedeactiveerd","de":"PM1-Alarm ist ausgegangen","fr":"Alarme PM1 désactivée","it":"Allarme PM1 spento","sv":"PM1-larm inaktiverat","no":"PM1-alarmen ble deaktivert","es":"Alarma de PM1 desactivada","da":"PM1-alarm blev deaktiveret","ru":"Сигнал ТЧ1 выключен","pl":"Alarm PM1 wyłączony","ko":"PM1 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm1_true","highlight":true,"title":{"en":"The PM1 alarm turned on","nl":"De PM1-waarschuwing is geactiveerd","de":"Der PM1-Alarm ist angegangen","fr":"L\'alarme PM1 s\'est activée","it":"L\'allarme PM1 si è acceso","sv":"PM1-larmet aktiverat","no":"PM1-alarmen ble aktivert","es":"La alarma de PM1 se ha activado","da":"PM1-alarmen blev aktiveret","ru":"Сигнал ТЧ1 включен","pl":"Włączył się alarm PM1","ko":"PM1 알람이 켜짐"}},{"id":"alarm_pm1_false","title":{"en":"The PM1 alarm turned off","nl":"De PM1-waarschuwing is gedeactiveerd","de":"Der PM1-Alarm ist ausgegangen","fr":"L\'alarme PM1 s\'est désactivée","it":"L\'allarme PM1 si è spento","sv":"PM1-larmet inaktiverat","no":"PM1-alarmen ble deaktivert","es":"La alarma de PM1 se ha desactivado","da":"PM1-alarmen blev deaktiveret","ru":"Сигнал ТЧ1 выключен","pl":"Wyłączył się alarm PM1","ko":"PM1 알람이 꺼짐"}}],"conditions":[{"id":"alarm_pm1","title":{"en":"The PM1 alarm is !{{on|off}}","nl":"De PM1-waarschuwing is !{{geactiveerd|gedeactiveerd}}","de":"Der PM1-Alarm ist !{{an|aus}}","fr":"L\'alarme PM1 est !{{activée|désactivée}}","it":"L\'allarme PM1 è !{{acceso|spento}}","sv":"PM1-larmet är !{{på|av}}","no":"PM1-alarmen er !{{på|av}}","es":"La alarma de PM1 está !{{activada|desactivada}}","da":"PM1-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ1 !{{включен|выключен}}","pl":"Alarm PM1 jest !{{włączony|wyłączony}}","ko":"PM1 알람이 !{{켜짐|꺼짐}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM10 alarm","nl":"PM10-waarschuwing","de":"PM10-Alarm","fr":"Alarme PM10","it":"Allarme PM10","sv":"PM10-larm","no":"PM10-alarm","es":"Alarma de PM10","da":"PM10-alarm","ru":"Сигнал ТЧ10","pl":"Alarm PM10","ko":"PM10 알람"},"desc":{"en":"True when PM10 values exceeds threshold","nl":"Wordt geactiveerd wanneer PM10-waarden de drempel overschrijden","de":"True, wenn PM10-Werte die Schwelle überschreiten","fr":"Se déclenche lorsque les valeurs PM10 excèdent un seuil","it":"Vero quando i valori PM10 superano la soglia","sv":"Sant när PM10-värdena överstiger gränsvärdet","no":"Sann når PM10-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM10 superan el límite","da":"Sandt, når PM10-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ10","pl":"Prawda, gdy wartości PM10 przekraczają próg","ko":"PM10 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM10 alarm turned on","nl":"PM10-waarschuwing geactiveerd","de":"PM10-Alarm ist angegangen","fr":"Alarme PM10 activée","it":"Allarme PM10 acceso","sv":"PM10-larm aktiverat","no":"PM10-alarm aktivert","es":"Alarma de PM10 activada","da":"PM10-alarm blev aktiveret","ru":"Сигнал ТЧ10 включен","pl":"Alarm PM10 włączony","ko":"PM10 알람 켜짐"},"insightsTitleFalse":{"en":"PM10 alarm turned off","nl":"PM10-waarschuwing gedeactiveerd","de":"PM10-Alarm ist ausgegangen","fr":"Alarme PM10 désactivée","it":"Allarme PM10 spento","sv":"PM10-larm inaktiverat","no":"PM10-alarm deaktivert","es":"Alarma de PM10 desactivada","da":"PM10-alarm blev deaktiveret","ru":"Сигнал ТЧ10 выключен","pl":"Alarm PM10 wyłączony","ko":"PM10 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm10_true","highlight":true,"title":{"en":"The PM10 alarm turned on","nl":"De PM10-waarschuwing is geactiveerd","de":"Der PM10-Alarm ist angegangen","fr":"L\'alarme PM10 s\'est activée","it":"L\'allarme PM10 si è acceso","sv":"PM10-larmet aktiverat","no":"PM10-alarmen ble aktivert","es":"La alarma de PM10 se ha activado","da":"PM10-alarmen blev aktiveret","ru":"Сигнал ТЧ10 включен","pl":"Włączył się alarm PM10","ko":"PM10 알람이 켜짐"}},{"id":"alarm_pm10_false","title":{"en":"The PM10 alarm turned off","nl":"De PM10-waarschuwing is gedeactiveerd","de":"Der PM10-Alarm ist ausgegangen","fr":"L\'alarme PM10 s\'est désactivée","it":"L\'allarme PM10 si è spento","sv":"PM10-larmet inaktiverat","no":"PM10-alarmen ble deaktivert","es":"La alarma de PM10 se ha desactivado","da":"PM10-alarmen blev deaktiveret","ru":"Сигнал ТЧ10 выключен","pl":"Wyłączył się alarm PM10","ko":"PM10 알람이 꺼짐"}}],"conditions":[{"id":"alarm_pm10","title":{"en":"The PM10 alarm is !{{on|off}}","nl":"De PM10-waarschuwing is !{{geactiveerd|gedeactiveerd}}","de":"Der PM10-Alarm ist !{{an|aus}}","fr":"L\'alarme PM10 est !{{activée|désactivée}}","it":"L\'allarme PM10 è !{{acceso|spento}}","sv":"PM10-larmet är !{{på|av}}","no":"PM10-alarmen er !{{på|av}}","es":"La alarma de PM10 está !{{activada|desactivada}}","da":"PM10-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ10 !{{включен|выключен}}","pl":"Alarm PM10 jest !{{włączony|wyłączony}}","ko":"PM10 알람이 !{{켜짐|꺼짐}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM2.5 alarm","nl":"PM2,5-alarm","de":"PM2.5-Alarm","fr":"Alarme PM2.5","it":"Allarme PM2.5","sv":"PM2.5-larm","no":"PM2.5-alarm","es":"Alarma de PM2,5","da":"PM2,5-alarm","ru":"Сигнал ТЧ 2.5","pl":"Alarm PM2.5","ko":"PM2.5 알람"},"desc":{"en":"True when PM2.5 values exceeds threshold","nl":"Gaat af wanneer de PM2,5 waarde overschreden wordt","de":"True, wenn PM2.5-Werte die Schwelle überschreiten","fr":"Vrai si les valeurs PM2.5 excèdent un seuil","it":"Vero quando i valori PM2.5 superano la soglia","sv":"Sant när PM2.5-värdena överstiger gränsvärdet","no":"Sant når PM2.5-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM2,5 superan el límite","da":"Sandt, når PM2,5-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ 2.5","pl":"Prawda, gdy wartości PM2.5 przekaczają próg","ko":"PM2.5 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM2.5 alarm turned on","nl":"PM2,5 alarm ging af","de":"PM2.5-Alarm ist angegangen","fr":"Alarme PM2.5 s\'est activée","it":"Allarme PM2.5 attivato","sv":"PM2.5-larm aktiverat","no":"PM2.5-alarm aktivert","es":"Alarma de PM2,5 activada","da":"PM2,5-alarm blev aktiveret","ru":"Сигнал ТЧ 2.5 включен","pl":"Alarm PM2.5 włączony","ko":"PM2.5 알람 켜짐"},"insightsTitleFalse":{"en":"PM2.5 alarm turned off","nl":"PM2,5 alarm ging uit","de":"PM2.5-Alarm ist ausgegangen","fr":"Alarme PM2.5 s\'est désactivée","it":"Allarme PM2.5 disattivato","sv":"PM2.5-larm inaktiverat","no":"PM2.5-alarm deaktivert","es":"Alarma de PM2,5 desactivada","da":"PM2,5-alarm blev deaktiveret","ru":"Сигнал ТЧ 2.5 выключен","pl":"Alarm PM2.5 wyłączony","ko":"PM2.5 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm25_true","highlight":true,"title":{"en":"The PM2.5 alarm turned on","nl":"Het PM2,5 gaat aan","de":"Der PM2.5-Alarm ist angegangen","fr":"L\'alarme PM2.5 s\'est activée","it":"L\'allarme PM2.5 è stato attivato","sv":"PM2.5-larmet aktiverat","no":"PM2.5-alarmen ble aktivert","es":"La alarma de PM2,5 se ha activado","da":"PM2,5-alarmen blev aktiveret","ru":"Сигнал ТЧ 2.5 включен","pl":"Alarm PM2.5 włączony","ko":"PM2.5 알람 켜짐"}},{"id":"alarm_pm25_false","title":{"en":"The PM2.5 alarm turned off","nl":"Het PM2,5 gaat uit","de":"Der PM2.5-Alarm ist ausgegangen","fr":"L\'alarme PM2.5 s\'est désactivée","it":"L\'allarme PM2.5 è stato disattivato","sv":"PM2.5-larmet inaktiverat","no":"PM2.5-alarmen ble deaktivert","es":"La alarma de PM2,5 se ha desactivado","da":"PM2,5-alarmen blev deaktiveret","ru":"Сигнал ТЧ 2.5 выключен","pl":"Alarm PM2.5 wyłączony","ko":"PM2.5 알람 꺼짐"}}],"conditions":[{"id":"alarm_pm25","title":{"en":"The PM2.5 alarm is !{{on|off}}","nl":"Het PM2,5 alarm is !{{aan|uit}}","de":"Der PM2.5-Alarm ist !{{an|aus}}","fr":"L\'alarme PM2.5 est !{{en marche|arrêtée}}","it":"L\'allarme PM2.5 è !{{acceso|spento}}","sv":"PM2.5-larmet är !{{på|av}}","no":"PM2.5-alarmen er !{{på|av}}","es":"La alarma de PM2,5 está !{{activada|desactivada}}","da":"PM2,5-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ 2.5 !{{вкл.|выкл.}}","pl":"Alarm PM2.5 jest !{{włączony|wyłączony}}","ko":"PM2.5 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Power alarm","nl":"Stroomwaarschuwing","da":"Strømalarm","it":"Allarme alimentazione","ko":"전원 알람","no":"Strømalarm","pl":"Alarm zasilania","ru":"Сигнал питания","sv":"Strömlarm","es":"Alarma de suministro eléctrico","fr":"Alarme d\'alimentation électrique"},"desc":{"en":"True when power is detected.","nl":"Wordt geactiveerd wanneer stroom wordt gedetecteerd.","da":"Sandt, når der registreres strøm.","it":"Vero quando viene rilevata l\'alimentazione.","ko":"전원이 감지되면 참입니다.","no":"Sann når strøm registreres.","pl":"Prawda, gdy wykryte jest zasilanie.","ru":"Значение «истина» при обнаружении питания.","sv":"Sant när strömförsörjning detekteras.","es":"Activado cuando se detecta suministro eléctrico.","fr":"Se déclenche lorsque une alimentation électrique est détectée."},"insights":true,"insightsTitleTrue":{"en":"Power alarm turned on","nl":"Stroomwaarschuwing geactiveerd","da":"Strømalarm slået til","it":"Allarme alimentazione acceso","ko":"전원 알람 켜짐","no":"Strømalarm aktivert","pl":"Alarm zasilania włączony","ru":"Сигнал питания включен","sv":"Strömlarm aktiverat","es":"Alarma de suministro eléctrico activada","fr":"Alarme d\'alimentation électrique activée"},"insightsTitleFalse":{"en":"Power alarm turned off","nl":"Stroomwaarschuwing gedeactiveerd","da":"Strømalarm slået fra","it":"Allarme alimentazione spento","ko":"전원 알람 꺼짐","no":"Strømalarm deaktivert","pl":"Alarm zasilania wyłączony","ru":"Сигнал питания выключен","sv":"Strömlarm inaktiverat","es":"Alarma de suministro eléctrico desactivada","fr":"Alarme d\'alimentation électrique désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_power_true","highlight":true,"title":{"en":"The power alarm turned on","nl":"De stroomwaarschuwing is geactiveerd","da":"Strømalarmen slået til","it":"L\'allarme alimentazione si è acceso","ko":"전원 알람이 켜짐","no":"Strømalarmen ble aktivert","pl":"Włączył się alarm zasilania","ru":"Сигнал питания включен","sv":"Strömlarmet aktiverat","es":"La alarma de suministro eléctrico está activada","fr":"L\'alarme d\'alimentation électrique s\'est activée"}},{"id":"alarm_power_false","title":{"en":"The power alarm turned off","nl":"De stroomwaarschuwing is gedeactiveerd","da":"Strømalarmen slået fra","it":"L\'allarme alimentazione si è spento","ko":"전원 알람이 꺼짐","no":"Strømalarmen ble deaktivert","pl":"Wyłączył się alarm zasilania","ru":"Сигнал питания выключен","sv":"Strömlarmet inaktiverat","es":"La alarma de suministro eléctrico está desactivada","fr":"L\'alarme d\'alimentation électrique s\'est désactivée"}}],"conditions":[{"id":"alarm_power","title":{"en":"The power alarm is !{{on|off}}","nl":"De stroomwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Strømalarmen er !{{tændt|slukket}}","it":"L\'allarme alimentazione è !{{acceso|spento}}","ko":"전원 알람이 !{{켜짐|꺼짐}}","no":"Strømalarmen er !{{på|av}}","pl":"Alarm zasilania jest !{{włączony|wyłączony}}","ru":"Сигнал питания !{{включен|выключен}}","sv":"Strömlarmet är !{{på|av}}","es":"La alarma de suministro eléctrico está !{{activada|desactivada}}","fr":"L\'alarme d\'alimentation électrique est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Presence alarm","nl":"Aanwezigheidswaarschuwing","da":"Tilstedeværelsesalarm","it":"Allarme di presenza","ko":"존재감지 알람","no":"Tilstedeværelsesalarm","pl":"Alarm obecności","ru":"Сигнал присутствия","sv":"Närvarolarm","es":"Alarma de presencia","fr":"Alarme de présence"},"desc":{"en":"True when presence has been detected.","nl":"Wordt geactiveerd wanneer aanwezigheid wordt gedetecteerd","da":"True, når der er registreret tilstedeværelse.","it":"Vero quando viene rilevata una presenza.","ko":"존재가 감지되면 참입니다.","no":"Sann når tilstedeværelse har blitt påvist.","pl":"Prawda, gdy wykryta została obecność.","ru":"Значение «истина» при обнаружении присутствия.","sv":"True när närvaro har detekterats.","es":"Activado cuando se detecta presencia.","fr":"Se déclenche lorsqu\'une présence a été détectée."},"insights":true,"insightsTitleTrue":{"en":"Presence Alarm turned on","nl":"Aanwezigheidswaarschuwing geactiveerd","da":"Tilstedeværelsesalarm slået til","it":"Allarme di presenza acceso","ko":"존재감지 알람 켜짐","no":"Tilstedeværelsesalarm aktivert","pl":"Alarm obecności włączony","ru":"Сигнал присутствия включен","sv":"Närvarolarm aktiverat","es":"Alarma de presencia activada","fr":"Alarme de présence activée"},"insightsTitleFalse":{"en":"Presence Alarm turned off","nl":"Aanwezigheidswaarschuwing gedeactiveerd","da":"Tilstedeværelsesalarm slået fra","it":"Allarme di presenza spento","ko":"존재감지 알람 꺼짐","no":"Tilstedeværelsesalarm deaktivert","pl":"Alarm obecności wyłączony","ru":"Сигнал присутствия выключен","sv":"Närvarolarm inaktiverat","es":"Alarma de presencia desactivada","fr":"Alarme de présence désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_presence_true","highlight":true,"title":{"en":"The presence alarm turned on","nl":"De aanwezigheidswaarschuwing is geactiveerd","da":"Tilstedeværelsesalarmen er slået til","it":"L\'allarme di presenza si è acceso","ko":"존재감지 알람이 켜짐","no":"Tilstedeværelsesalarmen ble aktivert","pl":"Włączył się alarm obecności","ru":"Сигнал присутствия включен","sv":"Närvarolarmet aktiverat","es":"La alarma de presencia se ha activado","fr":"L\'alarme de présence s\'est activée"}},{"id":"alarm_presence_false","title":{"en":"The presence alarm turned off","nl":"De aanwezigheidswaarschuwing is gedeactiveerd","da":"Tilstedeværelsesalarm slået fra","it":"L\'allarme di presenza si è spento","ko":"존재감지 알람이 꺼짐","no":"Tilstedeværelsesalarmen ble deaktivert","pl":"Wyłączył się alarm obecności","ru":"Сигнал присутствия выключен","sv":"Närvarolarmet inaktiverat","es":"La alarma de presencia se ha desactivado","fr":"L\'alarme de présence s\'est désactivée"}}],"conditions":[{"id":"alarm_presence","title":{"en":"The presence alarm is !{{on|off}}","nl":"De aanwezigheidswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Tilstedeværelsesalarmen er !{{tændt|slukket}}","it":"L\'allarme di presenza è !{{acceso|spento}}","ko":"존재감지 알람이 !{{켜짐|꺼짐}}","no":"Tilstedeværelsesalarmen er !{{på|av}}","pl":"Alarm obecności jest !{{włączony|wyłączony}}","ru":"Сигнал присутствия !{{включен|выключен}}","sv":"Närvarolarmet är !{{på|av}}","es":"La alarma de presencia está !{{activada|desactivada}}","fr":"L\'alarme de présence est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Problem alarm","nl":"Probleemwaarschuwing","da":"Problemalarm","it":"Allarme problema","ko":"문제 알람","no":"Problemalarm","pl":"Alarm problemu","ru":"Сигнал о проблеме","sv":"Problemlarm","es":"Alarma de problema","fr":"Alarme de problème"},"desc":{"en":"True when a problem is detected.","nl":"Wordt geactiveerd wanneer een probleem wordt gedetecteerd.","da":"Sandt, når der opdages et problem.","it":"Vero quando viene rilevato un problema.","ko":"문제가 감지되면 참입니다.","no":"Sann når et problem registreres.","pl":"Prawda, gdy wykryty jest problem.","ru":"Значение «истина» при обнаружении проблемы.","sv":"Sant när ett problem upptäcks.","es":"Activado cuando se detecta un problema.","fr":"Se déclenche lorsqu\'un problème est détecté."},"insights":true,"insightsTitleTrue":{"en":"Problem was detected","nl":"Probleem was gedetecteerd","da":"Problem blev opdaget","it":"Problema rilevato","ko":"문제가 감지됨","no":"Problem ble registrert","pl":"Problem był wykryty","ru":"Была обнаружена проблема","sv":"Ett problem har upptäckts","es":"Problema detectado","fr":"Un problème a été détecté"},"insightsTitleFalse":{"en":"Problem solved","nl":"Probleem opgelost","da":"Problem løst","it":"Problema risolto","ko":"문제 해결됨","no":"Problem løst","pl":"Problem rozwiązany","ru":"Проблема решена","sv":"Problemet är löst","es":"Problema resuelto","fr":"Problème résolu"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_problem_true","highlight":true,"title":{"en":"A problem is detected","nl":"Er is een probleem gedetecteerd","da":"Et problem er opdaget","it":"È stato rilevato un problema","ko":"문제 감지됨","no":"Et problem er registrert","pl":"Problem jest wykryty","ru":"Обнаружена проблема","sv":"Ett problem har upptäckts","es":"Se ha detectado un problema","fr":"Un problème est détecté"}},{"id":"alarm_problem_false","title":{"en":"The problem is solved","nl":"Het probleem is opgelost","da":"Problemet er løst","it":"Il problema è risolto","ko":"문제가 해결됨","no":"Problemet er løst","pl":"Problem jest rozwiązany","ru":"Проблема решена","sv":"Problemet är löst","es":"Se ha resuelto el problema","fr":"Le problème est résolu"}}],"conditions":[{"id":"alarm_problem","title":{"en":"There !{{is|isn\'t}} a problem","nl":"Er is !{{een|geen}} probleem","da":"Der !{{er|er ikke}} et problem","it":"!{{C\'è un|Non c\'è nessun}} problema","ko":"문제 !{{있음|없음}}","no":"Det !{{er|er ikke}} et problem","pl":"!{{Problem jest|Problemu nie ma}}","ru":"!{{есть проблема|проблемы нет}}","sv":"Det !{{är|är inte}} ett problem","es":"!{{Hay un problema|No hay ningún problema}}","fr":"Il !{{y a un problème|n\'y a pas de problème}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Pump device fault alarm","nl":"Waarschuwing van fout bij pompapparaat","da":"Alarm for fejl i pumpeenhed","it":"Allarme guasto del dispositivo di pompaggio","ko":"펌프 디바이스 고장 알람","no":"Feilalarm for pumpeenhet","pl":"Alarm usterki pompy","ru":"Сигнал о неисправности насосного устройства","sv":"Larm om fel på pumpenhet","es":"Alarma de fallo en el dispositivo de bombeo","fr":"Alarme de défaut de l\'appareil de pompage"},"desc":{"en":"True when a fault is detected in the pump device.","nl":"Wordt geactiveerd wanneer een fout wordt gedetecteerd in het pompapparaat.","da":"Sandt, når der er registreret en fejl i pumpeenheden.","it":"Vero quando viene rilevato un guasto nel dispositivo di pompaggio.","ko":"펌프 디바이스에 고장이 감지되면 참입니다.","no":"Sann når en feil i pumpeenheten registreres.","pl":"Prawda, gdy wykryta jest usterka pompy.","ru":"Значение «истина» при обнаружении неисправности насосного устройства.","sv":"Sant när ett fel har upptäckts i pumpenheten.","es":"Activado cuando se detecta un fallo en el dispositivo de bombeo.","fr":"Se déclenche lorsqu\'un défaut est détecté dans l\'appareil de pompage."},"insights":true,"insightsTitleTrue":{"en":"Pump device fault alarm turned on","nl":"Waarschuwing van fout bij pompapparaat geactiveerd","da":"Fejlalarm for pumpeenhed slået til","it":"Allarme guasto del dispositivo di pompaggio acceso","ko":"펌프 디바이스 고장 알람 켜짐","no":"Feilalarm for pumpeenhet aktivert","pl":"Alarm usterki pompy włączony","ru":"Сигнал о неисправности насосного устройства включен","sv":"Larm för fel på pumpenheten aktiverat","es":"Alarma de fallo en el dispositivo de bombeo activada","fr":"Alarme de défaut de l\'appareil de pompage activée"},"insightsTitleFalse":{"en":"Pump device fault alarm turned off","nl":"Waarschuwing van fout bij pompapparaat gedeactiveerd","da":"Fejlalarm for pumpeenhed slået fra","it":"Allarme guasto del dispositivo di pompaggio spento","ko":"펌프 디바이스 고장 알람 꺼짐","no":"Feilalarm for pumpeenhet ble deaktivert","pl":"Alarm usterki pompy wyłączony","ru":"Сигнал о неисправности насосного устройства выключен","sv":"Larmet för fel på pumpenheten inaktiverat","es":"Alarma de fallo en el dispositivo de bombeo desactivada","fr":"Alarme de défaut de l\'appareil de pompage désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pump_device_true","highlight":true,"title":{"en":"The pump device fault alarm turned on","nl":"De waarschuwing van fout bij pompapparaat is geactiveerd","da":"Pumpeenhedens fejlalarm er slået til","it":"L\'allarme di guasto del dispositivo di pompaggio si è acceso","ko":"펌프 디바이스 고장 알람이 켜짐","no":"Pumpeenhetens feilalarm ble aktivert","pl":"Włączył się alarm usterki pompy","ru":"Сигнал о неисправности насосного устройства включен","sv":"Larmet för fel på pumpenheten aktiverat","es":"Se ha activado la alarma de fallo en el dispositivo de bombeo","fr":"L\'alarme de défaut de l\'appareil de pompage s\'est activée"}},{"id":"alarm_pump_device_false","title":{"en":"The pump device fault alarm turned off","nl":"De waarschuwing van fout bij pompapparaat is gedeactiveerd","da":"Pumpeenhedens fejlalarm slået fra","it":"L\'allarme di guasto del dispositivo di pompaggio si è spento","ko":"펌프 디바이스 고장 알람이 꺼짐","no":"Pumpeenhetens feilalarm ble deaktivert","pl":"Wyłączył się alarm usterki pompy","ru":"Сигнал о неисправности насосного устройства выключен","sv":"Larmet för fel på pumpenheten inaktiverat","es":"La alarma de fallo en el dispositivo de bombeo se ha desactivado","fr":"L\'alarme de défaut de l\'appareil de pompage s\'est désactivée"}}],"conditions":[{"id":"alarm_pump_device","title":{"en":"The pump device fault alarm is !{{on|off}}","nl":"De waarschuwing van fout bij pompapparaat is !{{geactiveerd|gedeactiveerd}}","da":"Pumpeenhedens fejlalarm er !{{tændt|slukket}}","it":"L\'allarme di guasto del dispositivo di pompaggio è !{{acceso|spento}}","ko":"펌프 디바이스 고장 알람이 !{{켜짐|꺼짐}}","no":"Pumpeenhetens feilalarm er !{{på|av}}","pl":"Alarm usterki pompy jest !{{włączony|wyłączony}}","ru":"Сигнал о неисправности насосного устройства !{{включен|выключен}}","sv":"Larmet för fel på pumpenheten är !{{på|av}}","es":"La alarma de fallo en el dispositivo de bombeo está !{{activada|desactivada}}","fr":"L\'alarme de défaut de l\'appareil de pompage est !{{activé|désactivé}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Pump supply fault alarm","nl":"Waarschuwing van fout bij pomptoevoer","da":"Alarm for fejl i pumpeforsyningen","it":"Allarme guasto alimentazione pompa","ko":"펌프 공급장치 고장 알람","pl":"Alarm usterki zasilania pompy","ru":"Сигнал о неисправности в питании насоса","sv":"Larm om fel i pumptillförseln","es":"Alarma de fallo en el suministro eléctrico del bombeo","fr":"Alarme de défaut d\'alimentation de la pompe","no":"Feilalarm for pumpeforsyning"},"desc":{"en":"True when a fault is detected in the pump supply.","nl":"Wordt geactiveerd wanneer een fout wordt gedetecteerd in de pomptoevoer.","da":"Sandt, når der registreres en fejl i pumpeforsyningen.","it":"Vero quando viene rilevato un guasto nell\'alimentazione della pompa.","ko":"펌프 공급장치에 고장이 감지되면 참입니다.","pl":"Prawda, gdy wykryta jest usterka zasilania pompy.","ru":"Значение «истина» при обнаружении неисправности в питании насоса.","sv":"Sant när ett fel upptäcks i pumptillförseln.","es":"Activado cuando se detecta un fallo en el suministro eléctrico del bombeo.","fr":"Se déclenche lorsqu\'un défaut est détecté dans l\'alimentation de la pompe.","no":"Sann når en feil er påvist i pumpeforsyningen."},"insights":true,"insightsTitleTrue":{"en":"Problem was detected in the pump supply","nl":"Er was een probleem gedetecteerd in de pomptoevoer","da":"Der blev opdaget et problem i pumpeforsyningen","it":"È stato rilevato un problema nell\'alimentazione della pompa","ko":"펌프 공급장치에 문제가 감지됨","pl":"Problem z zasilaniem pompy był wykryty","ru":"Была обнаружена проблема с питанием насоса","sv":"Problem upptäcktes i pumptillförseln","es":"Se ha detectado un problema en el suministro eléctrico del bombeo","fr":"Un problème a été détecté dans l\'alimentation de la pompe","no":"Et problem i pumpeforsyningen ble påvist"},"insightsTitleFalse":{"en":"Problem in the pump supply was solved","nl":"Het probleem in de pomptoevoer werd opgelost","da":"Problem med pumpeforsyningen blev løst","it":"Il problema di alimentazione della pompa è stato risolto","ko":"펌프 공급장치 문제가 해결됨","pl":"Problem z zasilaniem pompy był rozwiązany","ru":"Проблема с питанием насоса была решена","sv":"Problem med pumptillförseln löstes","es":"Se ha resuelto el problema en el suministro eléctrico del bombeo","fr":"Le problème d\'alimentation de la pompe a été résolu","no":"Problemet i pumpeforsyningen ble løst"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pump_supply_true","highlight":true,"title":{"en":"A problem is detected in the pump supply","nl":"Er is een probleem gedetecteerd in de pomptoevoer","da":"Der er opdaget et problem i pumpeforsyningen","it":"È stato rilevato un problema nell\'alimentazione della pompa","ko":"펌프 공급장치에 문제 감지됨","pl":"Problem z zasilaniem pompy jest wykryty","ru":"Обнаружена проблема с питанием насоса","sv":"Ett problem har upptäckts i pumptillförseln","es":"Se ha detectado un problema en el suministro eléctrico del bombeo","fr":"Un problème est détecté dans l\'alimentation de la pompe","no":"Et problem i pumpeforsyningen er påvist"}},{"id":"alarm_pump_supply_false","title":{"en":"The problem in the pump supply is solved","nl":"Het probleem in de pomptoevoer is opgelost","da":"Problemet med pumpeforsyningen er løst","it":"Il problema dell\'alimentazione della pompa è risolto","ko":"펌프 공급장치 문제 해결됨","pl":"Problem z zasilaniem pompy jest rozwiązany","ru":"Проблема с питанием насоса решена","sv":"Problemet med pumptillförseln är löst","es":"Se ha resuelto el problema en el suministro eléctrico del bombeo","fr":"Le problème de l\'alimentation de la pompe est résolu","no":"Problemet i pumpeforsyningen er løst"}}],"conditions":[{"id":"alarm_pump_supply","title":{"en":"There !{{is|isn\'t}} a problem in the pump supply","nl":"Er is !{{een|geen}} probleem in de pomptoevoer","da":"Der !{{er|er ikke}} et problem i pumpeforsyningen","it":"!{{C\'è un|Non c\'è nessun}} problema nell\'alimentazione della pompa","ko":"펌프 공급장치에 문제 !{{있음|없음}}","pl":"!{{Występuje|Nie występuje}} problem z zasilaniem pompy","ru":"!{{Есть проблема|нет проблемы}} с питанием насоса","sv":"Det !{{är|är inte}} ett problem i pumpförsörjningen","es":"!{{Hay un problema|No hay ningún problema}} en el suministro eléctrico del bombeo","fr":"Il !{{y a un problème|n\'y a pas de problème}} concernant l\'alimentation de la pompe","no":"Det !{{er|er ikke}} et problem i pumpeforsyningen"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Running alarm","nl":"Werkzaamheidswaarschuwing","da":"Løbende alarm","it":"Allarme elaborazione in corso","ko":"동작 중 알람","no":"Kjøringsalarm","pl":"Alarm pracy urządzenia","ru":"Сигнал о процессе","sv":"Körlarm","es":"Alarma de funcionamiento","fr":"Alarme de fonctionnement"},"desc":{"en":"True when the device is busy (e.g., printer is printing).","nl":"Wordt geactiveerd wanneer het apparaat bezig is (bijv. printer is aan het printen).","da":"Sandt, når enheden er optaget (f.eks. printeren er i gang med at udskrive).","it":"Vero quando il dispositivo è occupato (ad esempio, la stampante sta stampando).","ko":"디바이스가 바쁜 상태(예: 프린터가 인쇄 중)면 참입니다.","pl":"Prawda, gdy urządzenie jest zajęte (np. drukarka drukuje).","ru":"Значение «истина», когда устройство занято (например, принтер печатает документ).","sv":"Sant när enheten är upptagen (t.ex. skrivaren skriver ut).","es":"Activado cuando el dispositivo está en funcionamiento (por ejemplo, la impresora está imprimiendo).","fr":"Se déclenche lorsque l\'appareil est utilisé (par exemple, l\'imprimante est en train d\'imprimer).","no":"Sann når enheten er i bruk (f.eks. en skriver som skriver ut noe)."},"insights":true,"insightsTitleTrue":{"en":"Running alarm turned on","nl":"Werkzaamheidswaarschuwing geactiveerd","da":"Løbende alarm slået til","it":"Allarme elaborazione in corso acceso","ko":"동작 중 알람 켜짐","pl":"Alarm pracy urządzenia włączony","ru":"Сигнал о процессе включен","sv":"Körlarm aktiverat","es":"Alarma de funcionamiento activada","fr":"Alarme de fonctionnement activée","no":"Kjøringsalarm aktivert"},"insightsTitleFalse":{"en":"Running alarm turned off","nl":"Werkzaamheidswaarschuwing gedeactiveerd","da":"Løbende alarm slået fra","it":"Allarme elaborazione in corso spento","ko":"동작 중 알람 꺼짐","pl":"Alarm pracy urządzenia wyłączony","ru":"Сигнал о процессе выключен","sv":"Körlarm inaktiverat","es":"Alarma de funcionamiento desactivada","fr":"Alarme de fonctionnement désactivée","no":"Kjøringsalarm deaktivert"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_running_true","highlight":true,"title":{"en":"The running alarm turned on","nl":"De werkzaamheidswaarschuwing is geactiveerd","da":"Den løbende alarm er slået til","it":"L\'allarme di elaborazione in corso si è acceso","ko":"동작 중 알람이 켜짐","pl":"Włączył się alarm pracy urządzenia","ru":"Сигнал о процессе включен","sv":"Körlarmet aktiverat","es":"La alarma de funcionamiento se ha activado","fr":"L\'alarme de fonctionnement s\'est activée","no":"Kjøringsalarmen ble aktivert"}},{"id":"alarm_running_false","title":{"en":"The running alarm turned off","nl":"De werkzaamheidswaarschuwing is gedeactiveerd","da":"Den løbende alarm er slået fra","it":"L\'allarme di elaborazione in corso si è spento","ko":"동작 중 알람이 꺼짐","pl":"Alarm pracy urządzenia wyłączony","ru":"Сигнал о процессе выключен","sv":"Körlarmet inaktiverat","es":"La alarma de funcionamiento se ha desactivado","fr":"L\'alarme de fonctionnement s\'est désactivée","no":"Kjøringsalarmen ble deaktivert"}}],"conditions":[{"id":"alarm_running","title":{"en":"Is !{{busy|not busy}}","nl":"Is !{{bezig|niet bezig}}","da":"Er !{{optaget|ikke optaget}}","it":"È !{{occupato|non occupato}}","ko":"!{{바쁨|바쁘지 않음}}","pl":"!{{Jest zajęte|Nie jest zajęte}}","ru":"Устройство !{{занято|не занято}}","sv":"Är !{{upptaget|inte upptaget}}","es":"!{{Está en funcionamiento|No está en funcionamiento}}","fr":"Est !{{connectée|déconnectée}}","no":"Er !{{i bruk|ikke i bruk}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Safety alarm","nl":"Veiligheidswaarschuwing","da":"Sikkerhedsalarm","it":"Allarme sicurezza","ko":"안전 알람","no":"Trygghetsalarm","pl":"Alarm bezpieczeństwa","ru":"Сигнал тревоги","sv":"Säkerhetslarm","es":"Alarma de seguridad","fr":"Alarme de sécurité"},"desc":{"en":"True when unsafe.","nl":"Wordt geactiveerd wanneer het onveilig is.","da":"Sandt, når usikker.","it":"Vero quando non sicuro.","ko":"안전하지 않으면 참입니다.","no":"Sann ved utrygge forhold.","pl":"Prawda, gdy nie jest bezpieczne.","ru":"Значение «истина» при возникновении опасности.","sv":"Sant när det är osäkert.","es":"Activado cuando no es seguro.","fr":"Se déclenche en cas d\'insécurité."},"insights":true,"insightsTitleTrue":{"en":"Safety alarm turned on","nl":"Veiligheidswaarschuwing geactiveerd","da":"Sikkerhedsalarm slået til","it":"Allarme sicurezza acceso","ko":"안전 알람 켜짐","no":"Trygghetsalarm aktivert","pl":"Alarm bezpieczeństwa włączony","ru":"Сигнал тревоги включен","sv":"Säkerhetslarm aktiverat","es":"Alarma de seguridad activada","fr":"Alarme de sécurité activée"},"insightsTitleFalse":{"en":"Safety alarm turned off","nl":"Veiligheidswaarschuwing gedeactiveerd","da":"Sikkerhedsalarm slået fra","it":"Allarme sicurezza spento","ko":"안전 알람 꺼짐","no":"Trygghetsalarm deaktivert","pl":"Alarm bezpieczeństwa wyłączony","ru":"Сигнал тревоги выключен","sv":"Säkerhetslarm inaktiverat","es":"Alarma de seguridad desactivada","fr":"Alarme de sécurité désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_safety_true","highlight":true,"title":{"en":"The safety alarm turned on","nl":"De veiligheidswaarschuwing is geactiveerd","da":"Sikkerhedsalarmen er slået til","it":"L\'allarme sicurezza si è acceso","ko":"안전 알람이 켜짐","no":"Trygghetsalarmen ble aktivert","pl":"Włączył się alarm bezpieczeństwa","ru":"Сигнал тревоги включен","sv":"Säkerhetslarmet aktiverat","es":"La alarma de seguridad se ha activado","fr":"L\'alarme de sécurité s\'est activée"}},{"id":"alarm_safety_false","title":{"en":"The safety alarm turned off","nl":"De veiligheidswaarschuwing is gedeactiveerd","da":"Sikkerhedsalarmen er slået fra","it":"L\'allarme sicurezza si è spento","ko":"안전 알람이 꺼짐","no":"Trygghetsalarmen ble deaktivert","pl":"Wyłączył się alarm bezpieczeństwa","ru":"Сигнал тревоги выключен","sv":"Säkerhetslarmet inaktiverat","es":"La alarma de seguridad se ha apagado","fr":"L\'alarme de sécurité s\'est désactivée"}}],"conditions":[{"id":"alarm_safety","title":{"en":"The safety alarm is !{{on|off}}","nl":"De veiligheidswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Sikkerhedsalarmen er !{{tændt|slukket}}","it":"L\'allarme sicurezza è !{{acceso|spento}}","ko":"안전 알람이 !{{켜짐|꺼짐}}","no":"Trygghetsalarmen er !{{på|av}}","pl":"Alarm bezpieczeństwa jest !{{włączony|wyłączony}}","ru":"Сигнал тревоги !{{включен|выключен}}","sv":"Säkerhetslarmet är !{{på|av}}","es":"La alarma de seguridad está !{{activada|desactivada}}","fr":"L\'alarme de sécurité est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Smoke alarm","nl":"Rookmelder","de":"Rauch-Alarm","fr":"Alarme fumée","it":"Allarme fumo","sv":"Röklarm","no":"Røykalarm","es":"Alarma de humo","da":"Røgalarm","ru":"Сигнал дыма","pl":"Alarm przeciwdymny","ko":"연기 알람"},"desc":{"en":"True when smoke has been detected","nl":"Gaat af als er rook gedetecteerd wordt","de":"True, wenn Rauch erkannt wurde","fr":"Vrai quand de la fumée a été détectée","it":"Vero quando è stato rilevato del fumo","sv":"Sant när rök upptäcks","no":"Sann når røyk har blitt påvist","es":"Activado cuando se detecta humo","da":"Sandt, når røg er blevet opdaget","ru":"Значение «истина» при обнаружении дыма","pl":"Adekwatny, kiedy wykryty zostanie dym","ko":"연기가 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Smoke alarm turned on","nl":"Rookmelder ging af","de":"Rauch-Alarm ist angegangen","fr":"Alarme fumée s\'est activée","it":"Allarme fumo attivato","sv":"Röklarm aktiverat","no":"Røykalarm aktivert","es":"Alarma de humo activada","da":"Røgalarm blev aktiveret","ru":"Сигнал дыма включен","pl":"Alarm przeciwdymny włączony","ko":"연기 알람 켜짐"},"insightsTitleFalse":{"en":"Smoke alarm turned off","nl":"Rookmelder ging uit","de":"Rauch-Alarm ist ausgegangen","fr":"Alarme fumée s\'est désactivée","it":"Allarme fumo disattivato","sv":"Röklarm inaktiverat","no":"Røykalarm deaktivert","es":"Alarma de humo desactivada","da":"Røgalarm blev deaktiveret","ru":"Сигнал дыма выключен","pl":"Alarm przeciwdymny wyłączony","ko":"연기 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_smoke_true","highlight":true,"title":{"en":"The smoke alarm turned on","nl":"De rookmelder gaat aan","de":"Der Rauch-Alarm ist angegangen","fr":"L\'alarme fumée s\'est activée","it":"L\'allarme fumo è stato attivato","sv":"Röklarmet aktiverat","no":"Røykalarmen ble aktivert","es":"La alarma de humo se ha activado","da":"Røgalarmen blev aktiveret","ru":"Сигнал дыма включен","pl":"Alarm przeciwdymny włączony","ko":"연기 알람 켜짐"}},{"id":"alarm_smoke_false","title":{"en":"The smoke alarm turned off","nl":"De rookmelder gaat uit","de":"Der Rauch-Alarm ist ausgegangen","fr":"L\'alarme fumée s\'est désactivée","it":"L\'allarme fumo è stato disattivato","sv":"Röklarmet inaktiverat","no":"Røykalarmen ble deaktivert","es":"La alarma de humo se ha desactivado","da":"Røgalarmen blev deaktiveret","ru":"Сигнал дыма выключен","pl":"Alarm przeciwdymny wyłączony","ko":"연기 알람 꺼짐"}}],"conditions":[{"id":"alarm_smoke","title":{"en":"The smoke alarm is !{{on|off}}","nl":"De rookmelder is !{{aan|uit}}","de":"Der Rauch-Alarm ist !{{an|aus}}","fr":"L\'alarme fumée est !{{en marche|arrêtée}}","it":"L\'allarme fumo è !{{acceso|spento}}","sv":"Röklarmet är !{{på|av}}","no":"Røykalarmen er !{{på|av}}","es":"La alarma de humo está !{{activada|desactivada}}","da":"Røgalarmen er !{{tændt|slukket}}","ru":"Сигнал дыма !{{вкл.|выкл.}}","pl":"Alarm przeciwdymny jest !{{włączony|wyłączony}}","ko":"연기 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Stuck alarm","nl":"Waarschuwing bij vastzitten","da":"Fastlåst alarm","it":"Allarme dispositivo bloccato","ko":"막힘 알람","no":"Fastkjøringsalarm","pl":"Alarm zablokowania","ru":"Сигнал о заклинивании","sv":"Larm om fastnat","es":"Alarma de atasco","fr":"Alarme d\'appareil bloqué"},"desc":{"en":"True when the device is stuck.","nl":"Wordt geactiveerd wanneer het apparaat vastzit","da":"Sandt, når enheden sidder fast.","it":"Vero quando il dispositivo è bloccato.","ko":"디바이스가 막히면 참입니다.","no":"Sann når enheten sitter fast.","pl":"Prawda, gdy urządzenie jest zablokowane.","ru":"Значение «истина», когда устройство заклинило.","sv":"Sant när enheten har fastnat.","es":"Activado cuando el dispositivo está atascado.","fr":"Se déclenche lorsque l\'appareil est bloqué."},"insights":true,"insightsTitleTrue":{"en":"Was stuck","nl":"Zat vast","da":"Sad fast","it":"Era bloccato","ko":"막혀 있음","no":"Satt fast","pl":"Było zablokowane","ru":"Заклинило","sv":"Var fast","es":"Estaba atascado","fr":"Était bloqué"},"insightsTitleFalse":{"en":"Was no longer stuck","nl":"Zat niet meer vast","da":"Sad ikke længere fast","it":"Non era più bloccato","ko":"더 이상 막혀 있지 않음","no":"Satt ikke lenger fast","pl":"Nie było już zablokowane","ru":"Больше не заклинено","sv":"Var inte längre fast","es":"Ya no estaba atascado","fr":"N\'était plus bloqué"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_stuck_true","highlight":true,"title":{"en":"Is stuck","nl":"Zit vast","da":"Sidder fast","it":"È bloccato","ko":"막힘","no":"Sitter fast","pl":"Jest zablokowane","ru":"Заклинено","sv":"Är fast","es":"Está atascado","fr":"Est bloqué"}},{"id":"alarm_stuck_false","title":{"en":"Is no longer stuck","nl":"Zit niet meer vast","da":"Sidder ikke længere fast","it":"Non è più bloccato","ko":"더 이상 막혔지 않음","no":"Sitter ikke lenger fast","pl":"Nie jest już zablokowane","ru":"Больше не заклинено","sv":"Är inte längre fast","es":"Ya no está atascado","fr":"N\'est plus bloqué"}}],"conditions":[{"id":"alarm_stuck","title":{"en":"Is !{{stuck|not stuck}}","nl":"Zit !{{vast|niet vast}}","da":"Er !{{fastlåst|ikke fastlåst}}","it":"È !{{bloccato|sbloccato}}","ko":"!{{막힘|막혔지 않음}}","no":"Sitter !{{fast|ikke fast}}","pl":"Jest ! {{zablokowane|niezablokowane}}","ru":"Устройство !{{заклинено|не заклинено}}","sv":"Är !{{fast|inte fast}}","es":"!{{Está atascado|No está atascado}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tamper alarm","nl":"Sabotagealarm","de":"Sabotage-Alarm","fr":"Alarme sabotage","it":"Allarme manomissione","sv":"Sabotagelarm","no":"Sabotasjealarm","es":"Alarma de manipulación","da":"Sabotagealarm","ru":"Противовзломный сигнал","pl":"Alarm antyingerencyjny","ko":"변조 알람"},"desc":{"en":"True when tampering has been detected","nl":"Gaat af als sabotage gedetecteerd wordt","de":"True, wenn Sabotage erkannt wurde","fr":"Vrai si l\'alarme sabotage a été détectée","it":"Vero quando è stata rilevata una manomissione","sv":"Sant när sabotage upptäckts","no":"Sann når sabotasje har blitt påvist","es":"Activado cuando se detecta manipulación","da":"Sandt, når sabotage er blevet opdaget","ru":"Значение «истина» при обнаружении попытки взлома","pl":"Adekwatny, kiedy wykryta zostanie ingerencja","ko":"변조가 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Tamper alarm turned on","nl":"Sabotagealarm ging af","de":"Sabotage-Alarm ist angegangen","fr":"Alarme sabotage s\'est activée","it":"Allarme manomissione attivato","sv":"Sabotagelarm aktiverat","no":"Sabotasjealarm aktivert","es":"Alarma de manipulación activada","da":"Sabotagealarm blev aktiveret","ru":"Противовзломный сигнал включен","pl":"Alarm antyingerencyjny włączony","ko":"변조 알람 켜짐"},"insightsTitleFalse":{"en":"Tamper alarm turned off","nl":"Sabotagealarm ging uit","de":"Sabotage-Alarm ist ausgegangen","fr":"Alarme sabotage s\'est désactivée","it":"Allarme manomissione disattivato","sv":"Sabotagelarm inaktiverat","no":"Sabotasjealarm deaktivert","es":"Alarma de manipulación desactivada","da":"Sabotagealarm blev deaktiveret","ru":"Противовзломный сигнал выключен","pl":"Alarm antyingerencyjny wyłączony","ko":"변조 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tamper_true","highlight":true,"title":{"en":"The tamper alarm turned on","nl":"Het sabotagealarm gaat aan","de":"Der Sabotage-Alarm ist angegangen","fr":"L\'alarme sabotage s\'est activée","it":"L\'allarme manomissione è stato attivato","sv":"Sabotagelarmet aktiverat","no":"Sabotasjealarmen ble aktivert","es":"La alarma de manipulación se ha activado","da":"Sabotagealarmen blev aktiveret","ru":"Противовзломный сигнал включен","pl":"Alarm antyingerencyjny włączony","ko":"변조 알람 켜짐"}},{"id":"alarm_tamper_false","title":{"en":"The tamper alarm turned off","nl":"Het sabotagealarm gaat uit","de":"Der Sabotage-Alarm ist ausgegangen","fr":"L\'alarme sabotage s\'est désactivée","it":"L\'allarme manomissione è stato disattivato","sv":"Sabotagelarmet inaktiverat","no":"Sabotasjealarmenen ble deaktivert","es":"La alarma de manipulación se ha desactivado","da":"Sabotagealarmen blev deaktiveret","ru":"Противовзломный сигнал выключен","pl":"Alarm antyingerencyjny wyłączony","ko":"변조 알람 꺼짐"}}],"conditions":[{"id":"alarm_tamper","title":{"en":"The tamper alarm is !{{on|off}}","nl":"Het sabotagealarm is !{{aan|uit}}","de":"Der Sabotage-Alarm ist !{{an|aus}}","fr":"L\'alarme sabotage est !{{en marche|arrêtée}}","it":"L\'allarme manomissione è !{{acceso|spento}}","sv":"Sabotagelarmet är !{{på|av}}","no":"Sabotasjealarmen er !{{på|av}}","es":"La alarma de manipulación está !{{activada|desactivada}}","da":"Sabotagealarmen er !{{tændt|slukket}}","ru":"Противовзломный сигнал !{{вкл.|выкл.}}","pl":"Alarm antyingerencyjny jest !{{włączony|wyłączony}}","ko":"변조 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tank empty alarm","nl":"Waarschuwing voor lege tank","da":"Alarm for tom tank","it":"Allarme serbatoio vuoto","ko":"탱크 빔 알람","no":"Alarm om tom tank","pl":"Alarm pustego zbiornika","ru":"Сигнал об опорожнении резервуара","sv":"Larm om tom tank","es":"Alarma de depósito vacío","fr":"Alarme de réservoir vide"},"desc":{"en":"True when the tank is empty.","nl":"Wordt geactiveerd wanneer de tank leeg is.","da":"Sandt, når tanken er tom.","it":"Vero quando il serbatoio è vuoto.","ko":"탱크가 비어 있으면 참입니다.","no":"Sann når tanken er tom.","pl":"Prawda, gdy zbiornik jest pusty.","ru":"Значение «истина», когда резервуар пустой.","sv":"Sant när tanken är tom.","es":"Activado cuando el depósito está vacío.","fr":"Se déclenche lorsque le réservoir est vide."},"insights":true,"insightsTitleTrue":{"en":"Tank was empty","nl":"Tank was leeg","da":"Tanken var tom","it":"Il serbatoio era vuoto","ko":"탱크가 비었음","no":"Tanken var tom","pl":"Zbiornik był pusty","ru":"Резервуар был пуст","sv":"Tanken var tom","es":"El depósito estaba vacío","fr":"Le réservoir était vide"},"insightsTitleFalse":{"en":"Tank was not empty","nl":"Tank was niet leeg","da":"Tanken var ikke tom","it":"Il serbatoio non era vuoto","ko":"탱크가 비어 있지 않음","no":"Tanken var ikke tom","pl":"Zbiornik nie był pusty","ru":"Резервуар не был пуст","sv":"Tanken var inte tom","es":"El depósito no estaba vacío","fr":"Le réservoir n\'était pas vide"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tank_empty_true","highlight":true,"title":{"en":"The tank is empty","nl":"De tank is leeg","da":"Tanken er tom","it":"Il serbatoio è vuoto","ko":"탱크 빔","no":"Tanken er tom","pl":"Zbiornik jest pusty","ru":"Резервуар пуст","sv":"Tanken är tom","es":"El depósito está vacío","fr":"Le réservoir est vide"}},{"id":"alarm_tank_empty_false","title":{"en":"The tank is no longer empty","nl":"De tank is niet meer leeg","da":"Tanken er ikke længere tom","it":"Il serbatoio non è più vuoto","ko":"탱크가 더 이상 비어 있지 않음","no":"Tanken er ikke lenger tom","pl":"Zbiornik nie jest już pusty","ru":"Резервуар больше не пуст","sv":"Tanken är inte längre tom","es":"El depósito ya no está vacío","fr":"Le réservoir n\'est plus vide"}}],"conditions":[{"id":"alarm_tank_empty","title":{"en":"The tank is !{{empty|not empty}}","nl":"De tank is !{{leeg|niet leeg}}","da":"Tanken er!{{tom ikke tom}}","it":"Il serbatoio !{{è vuoto|non è vuoto}}","ko":"탱크가 !{{빔|비어 있지 않음}}","no":"Tanken er !{{tom|ikke tom}}","pl":"Zbiornik !{{jest pusty|nie jest pusty}}","ru":"Резервуар !{{пуст|не пуст}}","sv":"Tanken är !{{tom|inte tom}}","es":"El depósito !{{está vacío|no está vacío}}","fr":"Le réservoir !{{est rempli|n\'est pas rempli}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tank missing alarm","nl":"Waarschuwing voor ontbrekende tank","da":"Alarm for manglende tank","it":"Allarme mancanza serbatoio","ko":"탱크 누락 알람","no":"Alarm om manglende tank","pl":"Alarm braku zbiornika","ru":"Сигнал об отсутствии резервуара","sv":"Larm för saknad tank","es":"Alarma de depósito no presente","fr":"Alarme de réservoir manquant"},"desc":{"en":"True when the tank is missing.","nl":"Wordt geactiveerd wanneer de tank ontbreekt.","da":"Det er sandt, når tanken mangler.","it":"Vero quando manca il serbatoio.","ko":"탱크가 누락되면 참입니다.","no":"Sann når tanken mangler.","pl":"Prawda, gdy brakuje zbiornika.","ru":"Значение «истина», когда резервуар отсутствует.","sv":"Sant när tanken saknas.","es":"Activado cuando el depósito no está presente.","fr":"Se déclenche lorsque le réservoir est manquant."},"insights":true,"insightsTitleTrue":{"en":"Tank was missing","nl":"Tank ontbrak","da":"Tanken manglede","it":"Mancava il serbatoio","ko":"탱크 누락됨","no":"Tanken manglet","pl":"Brakowało zbiornika","ru":"Резервуар отсутствовал","sv":"Tank saknades","es":"El depósito no estaba presente","fr":"Le réservoir était manquant"},"insightsTitleFalse":{"en":"Tank was not missing","nl":"Tank was geplaatst","da":"Tanken manglede ikke","it":"Il serbatoio non mancava","ko":"탱크가 누락되어 있지 않음","no":"Tanken manglet ikke","pl":"Nie brakowało zbiornika","ru":"Резервуар не отсутствовал","sv":"Tanken saknades inte","es":"El depósito estaba colocado","fr":"Le réservoir n\'était pas manquant"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tank_missing_true","highlight":true,"title":{"en":"The tank is missing","nl":"De tank ontbreekt","da":"Tanken mangler","it":"Manca il serbatoio","ko":"탱크 누락","no":"Tanken mangler","pl":"Brakuje zbiornika","ru":"Резервуар отсутствует","sv":"Tanken saknas","es":"El depósito no está presente","fr":"Le réservoir est manquant"}},{"id":"alarm_tank_missing_false","title":{"en":"The tank is placed","nl":"De tank is geplaatst","da":"Tanken er placeret","it":"Il serbatoio è presente","ko":"탱크 배치됨","no":"Tanken er på plass","pl":"Zbiornik jest umieszczony","ru":"Резервуар размещен","sv":"Tanken är på plats","es":"El depósito está colocado","fr":"Le réservoir est placé"}}],"conditions":[{"id":"alarm_tank_missing","title":{"en":"Tank !{{is|is not}} missing","nl":"De tank !{{ontbreekt|is geplaatst}}","da":"Tanken !{{er|er ikke}} manglende","it":"Il serbatoio è !{{assente|presente}}","ko":"탱크가 !{{누락됨|배치됨}}","no":"Tanken !{{er|er ikke}} borte","pl":"Zbiornik jest !{{brakujący|obecny}}","ru":"Резервуар ! {{отсутствует|в наличии}}","sv":"Tanken !{{saknas|är på plats}}","es":"El depósito !{{está|no está}} presente","fr":"Le réservoir est !{{manquant|présent}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tank open alarm","nl":"Waarschuwing voor open tank","da":"Alarm for åben tank","it":"Allarme serbatoio aperto","ko":"탱크 열림 알람","no":"Alarm om åpen tank","pl":"Alarm otwartego zbiornika","ru":"Сигнал об открытии резервуара","sv":"Larm om öppen tank","es":"Alarma de depósito abierto","fr":"Alarme de réservoir ouvert"},"desc":{"en":"True when the tank is open.","nl":"Wordt geactiveerd wanneer de tank open is.","da":"Sandt, når tanken er åben.","it":"Vero quando il serbatoio è aperto.","ko":"탱크가 열려 있으면 참입니다.","no":"Sann når tanken er åpen.","pl":"Prawda, gdy zbiornik jest otwarty.","ru":"Значение «истина», когда резервуар открыт.","sv":"Sant när tanken är öppen.","es":"Activado cuando el depósito está abierto.","fr":"Se déclenche lorsque le réservoir est ouvert."},"insights":true,"insightsTitleTrue":{"en":"Tank was open","nl":"Tank was open","da":"Tanken var åben","it":"Il serbatoio era aperto","ko":"탱크가 열려 있음","no":"Tanken var åpen","pl":"Zbiornik był otwarty","ru":"Резервуар был открыт","sv":"Tanken var öppen","es":"El depósito estaba abierto","fr":"Le réservoir était ouvert"},"insightsTitleFalse":{"en":"Tank was closed","nl":"Tank was dicht","da":"Tanken var lukket","it":"Il serbatoio è stato chiuso","ko":"탱크가 닫혀 있음","no":"Tanken var lukket","pl":"Zbiornik był zamknięty","ru":"Резервуар был закрыт","sv":"Tanken var stängd","es":"El depósito estaba cerrado","fr":"Le réservoir était fermé"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tank_open_true","highlight":true,"title":{"en":"The tank opens","nl":"De tank gaat open","da":"Tanken åbner","it":"Il serbatoio si apre","ko":"탱크 열림","no":"Tanken åpnes","pl":"Zbiornik otwiera się","ru":"Резервуар открывается","sv":"Tanken öppnas","es":"El depósito está abierto","fr":"Le réservoir s\'ouvre"}},{"id":"alarm_tank_open_false","title":{"en":"The tank closes","nl":"De tank gaat dicht","da":"Tanken lukker","it":"Il serbatoio si chiude","ko":"탱크 닫힘","no":"Tanken lukkes","pl":"Zbiornik zamyka się","ru":"Резервуар закрывается","sv":"Tanken stängs","es":"El depósito está cerrado","fr":"Le réservoir se ferme"}}],"conditions":[{"id":"alarm_tank_open","title":{"en":"The tank is !{{open|closed}}","nl":"De tank is !{{open|dicht}}","da":"Tanken er !{{åben|lukket}}","it":"Il serbatoio è !{{aperto|chiuso}}","ko":"탱크 !{{열림|닫힘}}","no":"Tanken er !{{åpen|lukket}}","pl":"Zbiornik jest !{{otwarty|zamknięty}}","ru":"Резервуар !{{открыт|закрыт}}","sv":"Tanken är !{{öppen|stängd}}","es":"El depósito está !{{abierto|cerrado}}","fr":"Le réservoir est !{{ouvert|fermé}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Vibration alarm","nl":"Trilwaarschuwing","da":"Vibrationsalarm","it":"Allarme vibrazione","ko":"진동 알람","no":"Vibrasjonsalarm","pl":"Alarm wibracji","ru":"Сигнал о вибрации","sv":"Vibrationslarm","es":"Alarma de vibración","fr":"Alarme de vibration"},"desc":{"en":"True when vibration is detected.","nl":"Wordt geactiveerd wanneer trilling wordt gedetecteerd.","da":"Sandt, når der registreres vibration.","it":"Vero quando viene rilevata una vibrazione.","ko":"진동이 감지되면 참입니다.","no":"Sann når vibrasjon registreres.","pl":"Prawda, gdy wykryta jest wibracja.","ru":"Значение «истина» при обнаружении вибрации.","sv":"Sant när vibrationer detekteras.","es":"Activado cuando se detecta vibración.","fr":"Se déclenche lorsque des vibrations sont détectées."},"insights":true,"insightsTitleTrue":{"en":"Vibration alarm turned on","nl":"Trilwaarschuwing geactiveerd","da":"Vibrationsalarm slået til","it":"Allarme vibrazione acceso","ko":"진동 알람 켜짐","no":"Vibrasjonsalarm aktivert","pl":"Alarm wibracji włączony","ru":"Сигнал о вибрации включен","sv":"Vibrationslarmet aktiverat","es":"Alarma de vibración activada","fr":"Alarme de vibration activée"},"insightsTitleFalse":{"en":"Vibration alarm turned off","nl":"Trilwaarschuwing gedeactiveerd","da":"Vibrationsalarm slået fra","it":"Allarme vibrazione spento","ko":"진동 알람 꺼짐","no":"Vibrasjonsalarm deaktivert","pl":"Alarm wibracji wyłączony","ru":"Сигнал о вибрации выключен","sv":"Vibrationslarmet inaktiverat","es":"Alarma de vibración desactivada","fr":"Alarme de vibration désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_vibration_true","highlight":true,"title":{"en":"The vibration alarm turned on","nl":"De trilwaarschuwing is geactiveerd","da":"Vibrationsalarmen slået til","it":"L\'allarme vibrazione si è acceso","ko":"진동 알람이 켜짐","no":"Vibrasjonsalarmen ble aktivert","pl":"Włączył się alarm wibracji","ru":"Сигнал о вибрации включен","sv":"Vibrationslarmet aktiverat","es":"La alarma de vibración se ha activado","fr":"L\'alarme de vibration s\'est activée"}},{"id":"alarm_vibration_false","title":{"en":"The vibration alarm turned off","nl":"De trilwaarschuwing is gedeactiveerd","da":"Vibrationsalarmen slået fra","it":"L\'allarme vibrazione si è spento","ko":"진동 알람이 꺼짐","no":"Vibrasjonsalarmen ble deaktivert","pl":"Wyłączył się alarm wibracji","ru":"Сигнал о вибрации выключен","sv":"Vibrationslarmet inaktiverat","es":"La alarma de vibración se ha desactivado","fr":"L\'alarme de vibration s\'est désactivée"}}],"conditions":[{"id":"alarm_vibration","title":{"en":"The vibration alarm is !{{on|off}}","nl":"De trilwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Vibrationsalarmen er !{{tændt|slukket}}","it":"L\'allarme vibrazione è !{{acceso|spento}}","ko":"진동 알람이 !{{켜짐|꺼짐}}","no":"Vibrasjonsalarmen er !{{på|av}}","pl":"Alarm wibracji jest !{{włączony|wyłączony}}","ru":"Сигнал о вибрации !{{включен|выключен}}","sv":"Vibrationslarmet är !{{av|på}}","es":"La alarma de vibración está !{{activada|desactivada}}","fr":"L\'alarme de vibration est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Water alarm","nl":"Wateralarm","de":"Wasser-Alarm","fr":"Alarme eau","it":"Allarme acqua","sv":"Vattenalarm","no":"Vannalarm","es":"Alarma de agua","da":"Vandalarm","ru":"Сигнал протечки воды","pl":"Alarm zalania wodą","ko":"물 알람"},"desc":{"en":"True when water has been detected","nl":"Gaat af als er water gedetecteerd wordt","de":"True, wenn Wasser erkannt wurde","fr":"Vrai si de l\'eau a été détectée","it":"Vero quando è stata rilevata dell\'acqua","sv":"Sant när vatten upptäcks","no":"Sant når vann har blitt påvist","es":"Activado cuando se detecta agua","da":"Sandt, når vand er blevet opdaget","ru":"Значение «истина» при обнаружении протечки воды","pl":"Adekwatny, kiedy wykryta zostanie woda","ko":"물이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Water alarm turned on","nl":"Water alarm ging af","de":"Wasser-Alarm ist angegangen","fr":"Alarme eau s\'est activée","it":"Allarme acqua attivato","sv":"Vattenalarm aktiverat","no":"Vannalarm aktivert","es":"Alarma de agua activada","da":"Vandalarm blev aktiveret","ru":"Сигнал протечки воды включен","pl":"Alarm zalania wodą włączony","ko":"물 알람 켜짐"},"insightsTitleFalse":{"en":"Water alarm turned off","nl":"Water alarm ging uit","de":"Wasser-Alarm ist ausgegangen","fr":"Alarme eau s\'est désactivée","it":"Allarme acqua disattivato","sv":"Vattenalarm inaktiverat","no":"Vannalarm deaktivert","es":"Alarma de agua desactivada","da":"Vandalarm blev deaktiveret","ru":"Сигнал протечки воды выключен","pl":"Alarm zalania wodą wyłączony","ko":"물 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_water_true","highlight":true,"title":{"en":"The water alarm turned on","nl":"Het wateralarm gaat aan","de":"Der Wasser-Alarm ist angegangen","fr":"L\'alarme eau s\'est activée","it":"L\'allarme acqua è stato attivato","sv":"Vattenalarmet aktiverat","no":"Vannalarmen ble aktivert","es":"La alarma de agua se ha activado","da":"Vandalarmen blev aktiveret","ru":"Сигнал аккумулятора включен","pl":"Alarm zalania wodą włączony","ko":"물 알람 켜짐"}},{"id":"alarm_water_false","title":{"en":"The water alarm turned off","nl":"Het wateralarm gaat uit","de":"Der Wasser-Alarm ist ausgegangen","fr":"L\'alarme eau s\'est désactivée","it":"L\'allarme acqua è stato disattivato","sv":"Vattenalarmet inaktiverat","no":"Vannalarmen ble deaktivert","es":"La alarma de agua se ha desactivado","da":"Vandalarmen blev deaktiveret","ru":"Сигнал аккумулятора выключен","pl":"Alarm zalania wodą wyłączony","ko":"물 알람 꺼짐"}}],"conditions":[{"id":"alarm_water","title":{"en":"The water alarm is !{{on|off}}","nl":"Het wateralarm is !{{aan|uit}}","de":"Der Wasser-Alarm ist !{{an|aus}}","fr":"L\'alarme eau est !{{en marche|arrêtée}}","it":"L\'allarme acqua è !{{acceso|spento}}","sv":"Vattenalarmet är !{{på|av}}","no":"Vannalarmen er !{{på|av}}","es":"La alarma de agua está !{{activada|desactivada}}","da":"Vandalarmen er !{{tændt|slukket}}","ru":"Сигнал протечки воды !{{вкл.|выкл.}}","pl":"Alarm zalania wodą jest !{{włączony|wyłączony}}","ko":"물 알람 !{{켬|끔}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Audio Output","nl":"Audio-uitgang","da":"Lydudgang","it":"Uscita audio","ko":"오디오 출력","pl":"Wyjście audio","ru":"Аудиовыход","sv":"Ljudutgång","es":"Salida de audio","fr":"Sortie audio","no":"Lydutgang"},"desc":{"en":"The audio output channel for a media player.","nl":"Het audio-uitgangskanaal voor een mediaspeler.","da":"Lydudgangskanalen til en medieafspiller.","it":"Il canale di uscita audio di un lettore multimediale.","ko":"미디어 플레이어의 오디오 출력 채널입니다.","pl":"Kanał wyjściowy audio odtwarzacza multimedialnego.","ru":"Канал аудиовыхода для медиаплеера.","sv":"Ljudutgångskanalen för en mediaspelare.","es":"Canal de salida de audio en un reproductor multimedia.","fr":"Canal de sortie audio d\'un lecteur multimédia.","no":"Lydutgangskanalen for en mediespiller."},"values":[{"id":"hdmi_1","title":{"en":"HDMI 1","nl":"HDMI 1","da":"HDMI 1","it":"HDMI 1","ko":"HDMI 1","no":"HDMI 1","pl":"HDMI 1","ru":"HDMI 1","sv":"HDMI 1","es":"HDMI 1","fr":"HDMI 1"}},{"id":"hdmi_2","title":{"en":"HDMI 2","nl":"HDMI 2","da":"HDMI 2","it":"HDMI 2","ko":"HDMI 2","no":"HDMI 2","pl":"HDMI 2","ru":"HDMI 2","sv":"HDMI 2","es":"HDMI 2","fr":"HDMI 2"}},{"id":"hdmi_3","title":{"en":"HDMI 3","nl":"HDMI 3","da":"HDMI 3","it":"HDMI 3","ko":"HDMI 3","no":"HDMI 3","pl":"HDMI 3","ru":"HDMI 3","sv":"HDMI 3","es":"HDMI 3","fr":"HDMI 3"}},{"id":"line_out","title":{"en":"Line Out","nl":"Line out","da":"Linjeudgang","it":"Line out","ko":"라인아웃","pl":"Wyjście liniowe","ru":"Линейный выход","sv":"Linje ut","es":"Salida de línea","fr":"Sortie line","no":"Linje ut"}},{"id":"optical","title":{"en":"Optical","nl":"Optisch","da":"Optisk","it":"Ottica","ko":"옵티컬","pl":"Optyczne","ru":"Оптический выход","sv":"Optisk","es":"Óptico","fr":"Optique","no":"Optisk"}},{"id":"usb","title":{"en":"USB","nl":"USB","da":"USB","it":"USB","ko":"USB","pl":"USB","ru":"USB","sv":"USB","es":"USB","fr":"USB","no":"USB"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"audio_output_changed","highlight":true,"title":{"en":"The audio output changed to","nl":"De audio-uitgang is veranderd naar","da":"Lydudgangen blev ændret til","it":"L\'uscita audio è passata a","ko":"오디오 출력이 다음으로 변경됨","pl":"Wyjście audio zmieniło się na","ru":"Аудиовыход изменен на","sv":"Ljudutgången ändrades till","es":"La salida de audio ha cambiado a","fr":"La sortie audio passe à","no":"Lydutgangen ble endret til"},"args":[{"name":"output","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"audio_output_is","title":{"en":"The audio output !{{is|is not}}","nl":"De audio-uitgang !{{is|is niet}}","da":"Lydudgangen !{{er|er ikke}}","it":"L\'uscita audio !{{è|non è}}","ko":"오디오 출력이 다음!{{과 같음| 아님}}","pl":"Wyjście audio !{{jest|nie jest}}","ru":"Аудиовыход !{{|не}}","sv":"Ljudutgången !{{är|är inte}}","es":"La salida de audio !{{está|no está}}","fr":"La sortie audio !{{est|n\'est pas}}","no":"Lydutgangen !{{er|er ikke}}"},"args":[{"name":"output","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_audio_output","title":{"en":"Set audio output to","nl":"Audio-uitgang instellen op","da":"Indstil lydudgang til","it":"Imposta l\'uscita audio su","ko":"오디오 출력을 다음으로 설정","pl":"Ustaw wyjście audio na","ru":"Установить аудиовыход на","sv":"Ställ in ljudutgång till","es":"Configurar la salida de audio en","fr":"Définir la sortie audio sur","no":"Sett lydutgang til"},"args":[{"name":"output","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Battery charging state","nl":"Oplaadstatus van de batterij","da":"Batteriets opladningstilstand","it":"Stato di carica della batteria","ko":"배터리 충전 상태","pl":"Stan ładowania baterii","ru":"Состояние зарядки аккумулятора","sv":"Batteriets laddningsstatus","es":"Estado de carga de la batería","fr":"État de charge de la batterie","no":"Batteriladingsstatus"},"desc":{"en":"The current charging state of the battery.","nl":"De huidige oplaadstatus van de batterij.","da":"Batteriets aktuelle opladningstilstand.","it":"Lo stato di carica attuale della batteria.","ko":"배터리의 현재 충전 상태입니다.","pl":"Bieżący stan naładowania baterii.","ru":"Текущее состояние зарядки аккумулятора.","sv":"Batteriets aktuella laddningsstatus.","es":"El estado de carga actual de la batería.","fr":"L\'état de charge actuel de la batterie.","no":"Batteriets nåværende ladingsstatus."},"values":[{"id":"charging","title":{"en":"Charging","nl":"Opladen","da":"Oplader","it":"In carica","ko":"충전 중","pl":"Ładowanie","ru":"Заряжается","sv":"Laddning","es":"Cargando","fr":"Charge","no":"Lades"}},{"id":"discharging","title":{"en":"Discharging","nl":"Ontladen","da":"Aflader","it":"Scarica","ko":"방전 중","pl":"Rozładowanie","ru":"Разряжается","sv":"Urladdning","es":"Descargando","fr":"Décharge","no":"Lades ut"}},{"id":"idle","title":{"en":"Idle","nl":"Inactief","da":"Inaktiv","it":"Inattivo","ko":"유휴","pl":"Bezczynność","ru":"В ожидании","sv":"Viloläge","es":"Reposo","fr":"Inactif","no":"Inaktiv"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"battery_charging_state_changed","title":{"en":"The battery charging state changed","nl":"De oplaadstatus van de batterij is veranderd","da":"Batteriets opladningstilstand er ændret","it":"Lo stato di carica della batteria è cambiato","ko":"배터리 충전 상태 변경됨","pl":"Stan ładowania baterii uległ zmianie","ru":"Состояние зарядки батареи изменилось","sv":"Batteriets laddningsstatus har ändrats","es":"El estado de carga de la batería ha cambiado","fr":"L\'état de charge de la batterie a changé","no":"Batteriladingsstatusen ble endret"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"battery_charging_state_is","title":{"en":"The battery charging state is","nl":"De oplaadstatus van de batterij is","da":"Batteriets opladningstilstand er","it":"Lo stato di carica della batteria è","ko":"배터리 충전 상태","pl":"Stan ładowania baterii to","ru":"Состояние зарядки аккумулятора:","sv":"Batteriets laddningsstatus är","es":"El estado de carga de la batería es","fr":"L\'état de charge de la batterie est","no":"Batteriladingsstatusen er"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Button","nl":"Knop","de":"Taste","fr":"Bouton","it":"Pulsante","sv":"Knapp","no":"Knapp","es":"Botón","da":"Knap","ru":"Кнопка","pl":"Przycisk","ko":"버튼"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","uiQuickAction":true,"$flow":{"actions":[{"id":"press","title":{"en":"Press the button","nl":"Druk op de knop","de":"Drücke die Taste","fr":"Appuyer sur le bouton","it":"Premi il pulsante","sv":"Tryck på knappen","no":"Trykk på knappen","es":"Pulsa el botón","da":"Tryk på knappen","ru":"Нажмите кнопку","pl":"Naciśnij przycisk","ko":"버튼 누르기"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Channel down","nl":"Kanaal omlaag","de":"Kanal runter","fr":"Chane bas","it":"Canale verso il basso","sv":"Kanal ned","no":"Lavere kanal","es":"Bajar de canal","da":"Kanal ned","ru":"Канал вниз","pl":"Kanał w dół","ko":"채널 아래로"},"type":"boolean","getable":false,"setable":true,"$flow":{"actions":[{"id":"channel_down","title":{"en":"One channel down","nl":"Eén kanaal omlaag","de":"Einen Kanal runter","fr":"Une châine vers le bas","it":"Un canale verso il basso","sv":"En kanal ned","no":"En kanal lavere","es":"Un canal más abajo","da":"En kanal ned","ru":"Один канал вниз","pl":"Jeden kanał w dół","ko":"채널 하나 아래로"}}]},"uiComponent":"button"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Channel up","nl":"Kanaal omhoog","de":"Kanal hoch","fr":"Chaîne haut","it":"Canale verso l\'alto","sv":"Kanal upp","no":"Høyere kanal","es":"Subir de canal","da":"Kanal op","ru":"Канал наверх","pl":"Kanał w górę","ko":"채널 위로"},"type":"boolean","getable":false,"setable":true,"$flow":{"actions":[{"id":"channel_up","title":{"en":"One channel up","nl":"Eén kanaal omhoog","de":"Einen Kanal hoch","fr":"Une chaîne vers le haut","it":"Un canale verso l\'alto","sv":"En kanal upp","no":"En kanal høyere","es":"Un canal más arriba","da":"En kanal op","ru":"Один канал наверх","pl":"Jeden kanał w górę","ko":"채널 하나 위로"}}]},"uiComponent":"button"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Dim level","nl":"Dim niveau","de":"Dimmlevel","fr":"Intensité lumineuse","it":"Intensità luminosa","sv":"Dimningsnivå","no":"Dempingsnivå","es":"Intensidad de la luz","da":"Lysniveau","ru":"Уровень яркости","pl":"Poziom przygaszenia","ko":"디밍 수준"},"chartType":"stepLine","min":0,"max":1,"decimals":2,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"dim_changed","title":{"en":"The dim level changed","nl":"Het dim-niveau is veranderd","de":"Dimm-Niveau geändert","fr":"Intensité lumineuse modifiée","it":"L\'intensità luminosa è cambiata","sv":"Dimningsnivå ändrades","no":"Dempingsnivået ble endret","es":"La intensidad de la luz ha cambiado","da":"Lysniveau ændret","ru":"Уровень яркости изменен","pl":"Zmienił się poziom przygaszenia","ko":"디밍 수준 변경됨"},"tokens":[{"name":"dim","type":"number","title":{"en":"Level","nl":"Niveau","de":"Niveau","fr":"Niveau","it":"Livello","sv":"Nivå","no":"Nivå","es":"Nivel","da":"Niveau","ru":"Уровень","pl":"Poziom","ko":"수준"},"example":0.5}]}],"actions":[{"id":"dim","highlight":true,"title":{"en":"Dim to","nl":"Dim naar","de":"Dimmen auf","fr":"Mettre l\'intensité lumineuse sur","it":"Imposta l\'intensità luminosa su","sv":"Dimma till","no":"Demp til","es":"Ajustar la intensidad de la luz a","da":"Juster til","ru":"Установить яркость","pl":"Przygaś do","ko":"다음 디밍 수준으로"},"args":[{"name":"dim","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]},{"id":"dim_relative","title":{"en":"Set relative dim-level","nl":"Zet relatief dim-niveau op","de":"Relatives Dimm-Niveau setzen","fr":"Définir l\'intensité lumineuse sur relative","it":"Imposta intensità luminosa su relativa","no":"Innstill relativt dempingsnivå","es":"Ajustar la intensidad de la luz como relativa","da":"Indstil relativt lysniveau","ru":"Установить относительный уровень яркости","pl":"Ustaw względny poziom przygaszenia","ko":"상대적 디밍 수준 설정"},"hint":{"en":"Dim or brighten with respect to the device\'s current dim-level.","nl":"Verhoog of verlaag de helderheid ten opzichte van het huidige dim-niveau van het apparaat.","ru":"Уменьшить или увеличить яркость относительно текущего уровня яркости устройства.","pl":"Przygaś lub rozjaśnij względem obecnego poziomu przygaszenia urządzenia.","ko":"디바이스의 현재 디밍 수준에 따라 어둡게 또는 밝게 설정합니다.","no":"Demp eller gjør lysere i forhold til enhetens gjeldende dimmingsnivå."},"args":[{"name":"dim","type":"range","min":-1,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Dishwasher program","nl":"Vaatwasprogramma","da":"Program til opvaskemaskine","it":"Programma lavastoviglie","ko":"식기세척기 프로그램","pl":"Program zmywarki","ru":"Программа посудомоечной машины","sv":"Diskmaskinsprogram","es":"Programa del lavavajillas","fr":"Programme lave-vaisselle","no":"Oppvaskmaskinprogram"},"desc":{"en":"The current program of the dishwasher.","nl":"Het huidige programma van de vaatwasser.","da":"Opvaskemaskinens aktuelle program.","it":"Il programma attuale della lavastoviglie.","ko":"식기세척기의 현재 프로그램입니다.","pl":"Bieżący program zmywarki.","ru":"Текущая программа посудомоечной машины.","sv":"Diskmaskinens aktuella program.","es":"El programa actual del lavavajillas.","fr":"Le programme actuel du lave-vaisselle.","no":"Oppvaskmaskinens gjeldende program."},"values":[{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normalt","it":"Normale","ko":"보통","pl":"Normalny","ru":"Стандартная","sv":"Normal\\n","es":"Normal","fr":"Normal","no":"Normal"}},{"id":"heavy","title":{"en":"Heavy","nl":"Zwaar","da":"Tungt","it":"Pesante","ko":"강력","pl":"Intensywny","ru":"Интенсивная","sv":"Tung","es":"Intensivo","fr":"Intensif","no":"Kraftig"}},{"id":"light","title":{"en":"Light","nl":"Licht","da":"Let","it":"Leggero","ko":"약하게","pl":"Lekki","ru":"Легкая","sv":"Lätt","es":"Rápido","fr":"Rapide","no":"Lett"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"dishwasher_program_changed","highlight":true,"title":{"en":"The program changed to","nl":"Het programma is veranderd in","da":"Programmet blev ændret til","it":"Il programma è passato a","ko":"프로그램이 다음으로 변경됨","pl":"Program zmienił się na","ru":"Программа изменена на","sv":"Programmet ändrades till","es":"El programa ha cambiado a","fr":"Le programme du lave-vaisselle est passé à","no":"Programmet ble endret til"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"dishwasher_program_is","title":{"en":"The program is","nl":"Het programma is","da":"Programmet er","it":"Il programma è","ko":"프로그램이 다음과 같음","pl":"Program to","ru":"Программа:","sv":"Programmet är","es":"El programa es","fr":"Le programme est","no":"Programmet er"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Docked","nl":"Gekoppeld","da":"Forankret","it":"Alloggiato","ko":"도킹됨","pl":"Zadokowane","ru":"Установлено в док-станцию","sv":"Dockad","es":"En la base de carga","fr":"À la base","no":"I stasjonen"},"desc":{"en":"True when docked.","nl":"Wordt geactiveerd wanneer deze is gekoppeld.","da":"Sandt, når forankret.","it":"Vero quando è alloggiato.","ko":"도킹되면 참입니다.","pl":"Prawda, gdy zadokowane.","ru":"Значение «истина» при установке в док-станцию.","sv":"Sant när den är dockad.","es":"Activado cuando está en la base de carga.","fr":"Se déclenche lorsque l\'appareil est à la base.","no":"Sann når den er i stasjonen."},"insights":true,"insightsTitleTrue":{"en":"Docked","nl":"Gekoppeld","da":"Forankret","it":"Alloggiato","ko":"도킹됨","pl":"Zadokowane","ru":"Установлено в док-станцию","sv":"Dockad","es":"En la base de carga","fr":"À la base","no":"I stasjonen"},"insightsTitleFalse":{"en":"Not docked","nl":"Niet gekoppeld","da":"Ikke forankret","it":"Non alloggiato","ko":"도킹되지 않음","pl":"Nie zadokowane","ru":"Не установлено в док-станцию","sv":"Inte dockad","es":"Fuera de la base de carga","fr":"Pas à la base","no":"Ikke i stasjonen"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"docked_true","highlight":true,"title":{"en":"Has docked","nl":"Is gekoppeld","da":"Er forankret","it":"Alloggiato","ko":"도킹됨","pl":"Jest zadokowane","ru":"Установлено в док-станцию","sv":"Dockad","es":"Está en la base de carga","fr":"À la base","no":"Har gått til stasjonen"}},{"id":"docked_false","title":{"en":"Has undocked","nl":"Is losgekoppeld","da":"Er ikke forankret","it":"Non alloggiato","ko":"도킹되지 않음","pl":"Jest niezadokowane","ru":"Не установлено в док-станцию","sv":"Inte dockad","es":"Está fuera de la base de carga","fr":"Pas à la base","no":"Har gått ut av stasjonen"}}],"conditions":[{"id":"docked","title":{"en":"Is !{{docked|not docked}}","nl":"Is !{{gekoppeld|niet gekoppeld}}","da":"Er !{{Forankret|Ikke forankret}}","it":"È !{{alloggiato|non alloggiato}}","ko":"!{{도킹됨|도킹되지 않음}}","pl":"Jest !{{zadokowane|niezadokowane}}","ru":"!{{Установлено в док-станцию|Не установлено в док-станцию}}","sv":"Är !{{dockad|inte dockad}}","es":"Está !{{en la base de carga|fuera de la base de carga}}","fr":"!{{Est à la base|N\'est pas à la base}}","no":"Er !{{i stasjonen|ikke i stasjonen}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Fan Mode","nl":"Ventilatormodus","da":"Ventilatortilstand","it":"Modalità ventola","ko":"팬 모드","pl":"Tryb wentylatora","ru":"Режим вентилятора","sv":"Fläktläge","es":"Modo ventilador","fr":"Mode de ventilation","no":"Viftemodus"},"values":[{"id":"auto","title":{"en":"Auto","nl":"Automatisch","da":"Auto","it":"Auto","ko":"자동","pl":"Auto","ru":"Авто","sv":"Auto","es":"Automático","fr":"Automatique","no":"Automatisk"}},{"id":"on","title":{"en":"On","nl":"Aan","da":"Til","it":"On","ko":"켜짐","no":"På","pl":"Wł","ru":"Включен","sv":"På","es":"Activado","fr":"Activé"}},{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","no":"Av","pl":"Wył","ru":"Выключен","sv":"Av","es":"Desactivado","fr":"Désactivé"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"fan_mode_changed","title":{"en":"The fan mode has changed to","nl":"De ventilatormodus is veranderd naar","da":"Ventilatortilstanden er ændret til","it":"La modalità ventola è passata a","ko":"팬 모드가 다음으로 변경됨","no":"Viftemodusen er endret til","pl":"Tryb wentylatora zmienił się na","ru":"Режим вентилятора изменен на","sv":"Fläktläget har ändrats till","es":"El modo ventilador ha cambiado a","fr":"Le mode de ventilation est passé à=Le mode de ventilation est passé à"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"fan_mode_is","title":{"en":"The fan mode !{{is|is not}}","nl":"De ventilatormodus !{{is|is niet}}","da":"Ventilatortilstand !{{er|er ikke}}","it":"La modalità ventola !{{è|non è}}","ko":"팬 모드가 다음!{{과 같음| 아님}}","no":"Viftemodusen !{{er|er ikke}}","pl":"Tryb wentylatora !{{jest|nie jest}}","ru":"Режим вентилятора !{{|не}}","sv":"Fläktläge !{{är|är inte}}","es":"El modo ventilador !{{está|no está}} ","fr":"Le mode de ventilation !{{est|n\'est pas}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_fan_mode","title":{"en":"Set fan mode to","nl":"Ventilatormodus instellen op","da":"Indstil ventilatortilstand til","it":"Imposta la modalità ventola su","ko":"팬 모드를 다음으로 설정","no":"Sett viftemodusen til","pl":"Ustaw tryb wentylatora na","ru":"Установить режим вентилятора на","sv":"Ställ in fläktläget på","es":"Ajustar el modo de ventilador en","fr":"Définir le mode de ventilation sur"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Fan Speed","nl":"Ventilatorsnelheid","da":"Ventilatorhastighed","it":"Velocità della ventola","ko":"팬 속도","no":"Viftehastighet","pl":"Prędkość wentylatora","ru":"Скорость вентилятора","sv":"Fläkthastighet","es":"Velocidad del ventilador","fr":"Vitesse de ventilation"},"units":{"en":"%","da":"%","it":"%","ko":"%","nl":"%","no":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %"},"desc":{"en":"The fan speed in percentage.","nl":"De ventilatorsnelheid in procenten.","da":"Ventilatorhastigheden i procent.","it":"La velocità della ventola in percentuale.","ko":"백분율로 표현한 팬 속도입니다.","no":"Viftehastigheten i prosent.","pl":"Prędkość wentylatora w procentach.","ru":"Скорость работы вентилятора в процентах.","sv":"Fläkthastigheten i procent.","es":"La velocidad del ventilador en porcentaje.","fr":"Vitesse de ventilation en pourcentage."},"insights":true,"chartType":"spline","min":0,"max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"fan_speed_changed","title":{"en":"The fan speed changed","nl":"De ventilatorsnelheid is veranderd","da":"Ventilatorhastigheden ændrede sig","it":"La velocità della ventola è cambiata","ko":"팬 속도 변경됨","no":"Viftehastigheten ble endret","pl":"Prędkość wentylatora zmieniła się","ru":"Скорость вентилятора изменена","sv":"Fläkthastigheten ändrades","es":"La velocidad del ventilador ha cambiado","fr":"La vitesse de ventilation a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_fan_speed","title":{"en":"Set the fan speed to","nl":"De ventilatorsnelheid instellen op","da":"Indstil ventilatorhastigheden til","it":"Imposta la velocità della ventola su","ko":"팬 속도를 다음으로 설정","no":"Sett viftehastigheten til","pl":"Ustaw prędkość wentylatora na","ru":"Установить скорость вентилятора на","sv":"Ställ in fläkthastigheten på","es":"Ajustar la velocidad del ventilador a","fr":"Définir la vitesse de ventilation sur"},"args":[{"name":"fan_speed","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыта","pl":"Zamknięta","ko":"닫힘"},"getable":true,"setable":true,"insights":true,"insightsTitleTrue":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыта","pl":"Zamknięta","ko":"닫힘"},"insightsTitleFalse":{"en":"Opened","nl":"Geopend","de":"Offen","fr":"Ouvert","it":"Aperte","sv":"Öppen","no":"Åpnet","es":"Abiertos","da":"Åben","ru":"Открыта","pl":"Otwarta","ko":"열림"},"uiComponent":"toggle","$flow":{"triggers":[{"id":"garagedoor_closed_true","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыта","pl":"Zamknięta","ko":"닫힘"}},{"id":"garagedoor_closed_false","title":{"en":"Opened","nl":"Geopend","de":"Offen","fr":"Ouvert","it":"Aperte","sv":"Öppen","no":"Åpnet","es":"Abiertos","da":"Åben","ru":"Открыта","pl":"Otwarta","ko":"열림"}}],"conditions":[{"id":"closed","title":{"en":"Is !{{closed|open}}","nl":"Is !{{gesloten|geopend}}","de":"Ist !{{geschlossen|offen}}","fr":"Est !{{fermé|ouvert}}","it":"È !{{chiuso|aperto}}","sv":"Är !{{stängd|öppen}}","no":"Er !{{lukket|åpen}}","es":"Está !{{cerrado|abierto}}","da":"Er !{{lukket|åben}}","ru":"!{{закрыта|открыта}}","pl":"Jest !{{zamknięta|otwarta}}","ko":"!{{닫힘|열림}}"}}],"actions":[{"id":"close","highlight":true,"title":{"en":"Close","nl":"Sluiten","de":"Schließen","fr":"Fermer","it":"Chiudi","sv":"Stäng","no":"Lukk","es":"Cerrar","da":"Luk","ru":"Закрыть","pl":"Zamknij","ko":"닫기"}},{"id":"open","highlight":true,"title":{"en":"Open","nl":"Openen","de":"Öffnen","fr":"Ouvrir","it":"Apri","sv":"Öppna","no":"Åpne","es":"Abrir","da":"Åbn","ru":"Открыть","pl":"Otwórz","ko":"열기"}},{"id":"toggle","title":{"en":"Toggle open or closed","nl":"Schakel tussen geopend en gesloten","de":"Offen/Geschlossen umschalten","fr":"Alterner ouvert/fermé","it":"Alterna aperte/chiuse","sv":"Växla mellan öppen eller stängd","no":"Veksle mellom åpen og lukket","es":"Abrir o cerrar","da":"Skift mellem åben og lukket","ru":"Переключатель открыть/закрыть","pl":"Przełącz na otwartą lub zamkniętą","ko":"열림 또는 닫힘 토글"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Heater Operation Mode","nl":"Verwarmingsmodus","da":"Varmeapparatets driftstilstand","it":"Modalità di funzionamento del calorifero","ko":"히터 작동 모드","pl":"Tryb grzania","ru":"Режим работы обогревателя","sv":"Driftläge för värmare","es":"Modo de calefacción","fr":"Mode de fonctionnement du chauffage","no":"Driftsmodus for varmeovn"},"values":[{"id":"eco","title":{"en":"Eco","nl":"Eco","da":"Øko","it":"Eco","ko":"에코","pl":"Eko","ru":"Эко","sv":"Eco","es":"Eco","fr":"Économique","no":"Øko"}},{"id":"electric","title":{"en":"Electric","nl":"Elektrisch","da":"Elektrisk","it":"Elettrico","ko":"전기","pl":"Elektryczne","ru":"Электричество","sv":"Elektrisk","es":"Eléctrico","fr":"Électrique","no":"Elektrisk"}},{"id":"performance","title":{"en":"Performance","nl":"Prestatie","da":"Præstation","it":"Prestazioni","ko":"퍼포먼스","pl":"Komfort","ru":"Высокопроизводительный","sv":"Prestanda","es":"Rendimiento","fr":"Performance","no":"Ytelse"}},{"id":"high_demand","title":{"en":"High Demand","nl":"Hoog verbruik","da":"Høj efterspørgsel","it":"Domanda elevata","ko":"고수요","pl":"Wysokie zapotrzebowanie","ru":"Интенсивный","sv":"Hög efterfrågan","es":"Alta demanda","fr":"Forte demande","no":"Høy etterspørsel"}},{"id":"heat_pump","title":{"en":"Heat Pump","nl":"Warmtepomp","da":"Varmepumpe","it":"Pompa di calore","ko":"히트 펌프","no":"Varmepumpe","pl":"Pompa ciepła","ru":"Тепловой насос","sv":"Värmepump","es":"Bomba de calor","fr":"Pompe à chaleur"}},{"id":"gas","title":{"en":"Gas","nl":"Gas","da":"Gas","it":"Gas","ko":"가스","no":"Gass","pl":"Gazowe","ru":"Газ","sv":"Gas","es":"Gas","fr":"Gaz"}},{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","no":"Av","pl":"Wył","ru":"Выключен","sv":"Av","es":"Desactivado","fr":"Désactivé"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"heater_operation_mode_changed","title":{"en":"The heater operation mode has changed to","nl":"De verwarmingsmodus is veranderd naar","da":"Varmeapparatets driftstilstand er ændret til","it":"La modalità di funzionamento del calorifero è passata a","ko":"히터 작동 모드가 다음으로 변경됨","no":"Varmeelementets driftsmodus er endret til","pl":"Tryb grzania zmienił się na","ru":"Режим работы обогревателя изменен на","sv":"Värmarens driftläge har ändrats till","es":"El modo de calefacción ha cambiado a","fr":"Le mode de fonctionnement du chauffage est passé à"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"heater_operation_mode_is","title":{"en":"The heater operation mode !{{is|is not}}","nl":"De verwarmingsmodus !{{is|is niet}}","da":"Varmeapparatets driftstilstand !{{er|er ikke}}","it":"La modalità di funzionamento del calorifero !{{è|non è}}","ko":"히터 작동 모드가 다음!{{과 같음| 아님}}","pl":"Tryb pracy ogrzewacza !{{jest|nie jest}}","ru":"Режим работы обогревателя !{{|не}}","sv":"Driftläge för värmaren !{{är|är inte}}","es":"El modo de calefacción !{{está|no está}}","fr":"Le mode de fonctionnement du chauffage !{{est|n\'est pas}}","no":"Varmeovnens driftsmodus !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_heater_operation_mode","title":{"en":"Set the heater operation mode to","nl":"De verwarmingsmodus instellen op","da":"Indstil varmeapparatets driftstilstand til","it":"Imposta la modalità di funzionamento del calorifero su","ko":"히터 작동 모드를 다음으로 설정","pl":"Ustaw tryb grzania na","ru":"Установить режим работы обогревателя на","sv":"Ställ in värmarens driftläge på","es":"Ajustar el modo de calefacción en","fr":"Définir le mode de fonctionnement du chauffage sur","no":"Sett varmeovnens driftsmodus til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Home alarm state","nl":"Thuisalarm status","de":"Heim-Alarm-Status","fr":"Etat de l\'alarme de maison","it":"Stato dell\'allarme domestico","sv":"Hemlarmsstatus","no":"Hjemmealarmstatus","es":"Estado de la alarma doméstica","da":"Hjemmealarmstatus","ru":"Состояние домашней сигнализации","pl":"Stan alarmu domowego","ko":"집 알람 상태"},"values":[{"id":"armed","title":{"en":"Armed","nl":"Geactiveerd","de":"scharf","fr":"Armé","it":"Attivato","sv":"Larmat","no":"Aktivert","es":"Activada","da":"Aktiveret","ru":"Готова","pl":"Uzbrojony","ko":"경보 활성화됨"}},{"id":"disarmed","title":{"en":"Disarmed","nl":"Gedeactiveerd","de":"unscharf","fr":"Désarmé","it":"Disattivato","sv":"Avlarmat","no":"Deaktivert","es":"Desactivada","da":"Deaktiveret","ru":"не готова","pl":"rozbrojony","ko":"경보 해제됨"}},{"id":"partially_armed","title":{"en":"Partially armed","nl":"Deels geactiveerd","de":"teilweise scharf","fr":"Partiellement armé","it":"Parzialmente attivato","sv":"Delvis larmat","no":"Delvis aktivert","es":"Parcialmente activada","da":"Delvist aktiveret","ru":"Частично готова","pl":"Częściowo uzbrojony","ko":"경보 부분 활성화됨"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"homealarm_state_changed","title":{"en":"The state changed","nl":"De status is veranderd","de":"Der Status hat sich geändert","fr":"L\'état a été modifié","it":"Lo stato è cambiato","sv":"Statusen ändrad","no":"Statusen ble endret","es":"El estado ha cambiado","da":"Status ændret","ru":"Состояние изменено","pl":"Zmiana stanu","ko":"상태 변경됨"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"homealarm_state_is","title":{"en":"The state is !{{|not}}","nl":"De status is !{{|niet}}","de":"Der Status ist !{{|nicht}}","fr":"L\'état !{{est|n\'est pas}}","it":"Lo stato è !{{|non}}","sv":"Statusen är !{{|inte}}","no":"Statusen er !{{|ikke}}","es":"El estado !{{|no}} es","da":"Status er !{{|ikke}}","ru":"Состояние — !{{|не}}","pl":"Stan to !{{|nie}}","ko":"상태가 다음!{{임| 아님}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_homealarm_state","title":{"en":"Set state","nl":"Zet de status","de":"Status setzen","fr":"Définir l\'état","it":"Imposta stato","sv":"Ställ in status","no":"Innstill status","es":"Definir estado","da":"Indstil status","ru":"Установить состояние","pl":"Ustaw stan","ko":"상태 설정"},"$filter":{"capabilities":"homealarm_state"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Hot water mode","nl":"Warmwatermodus","da":"Varmtvandstilstand","it":"Modalità acqua calda","ko":"온수 모드","pl":"Tryb ciepłej wody","ru":"Режим нагрева воды","sv":"Varmvattenläge","es":"Modo de agua caliente","fr":"Mode eau chaude","no":"Varmtvannsmodus"},"values":[{"id":"on","title":{"en":"On","nl":"Aan","da":"Til","it":"On","ko":"켜짐","pl":"Wł","ru":"Включен","sv":"På","es":"Activado","fr":"Activé","no":"På"}},{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","pl":"Wył","ru":"Выключен","sv":"Av","es":"Desactivado","fr":"Désactivé","no":"Av"}},{"id":"eco","title":{"en":"Eco","nl":"Eco","da":"Øko","it":"Eco","ko":"에코","pl":"Eko","ru":"Эко","sv":"Eco","es":"Eco","fr":"Économique","no":"Øko"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"hot_water_mode_changed","title":{"en":"The hot water mode has changed to","nl":"De warmwatermodus is veranderd naar","da":"Varmtvandstilstanden er ændret til","it":"La modalità acqua calda è passata a","ko":"온수 모드가 다음으로 변경됨","no":"Varmtvannsmodus er endret til","pl":"Tryb ciepłej wody zmienił się na","ru":"Режим нагрева воды изменен на","sv":"Varmvattenläget har ändrats till","es":"El modo de agua caliente ha cambiado a","fr":"Le mode eau chaude est passé à"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"hot_water_mode_is","title":{"en":"The hot water mode !{{is|is not}}","nl":"De warmwatermodus !{{is|is niet}}","da":"Tilstanden for varmt vand !{{er|er ikke}}!","it":"La modalità acqua calda !{{è|non è}}","ko":"온수 모드가 다음!{{과 같음| 아님}}","pl":"Tryb gorącej wody !{{jest|nie jest}}","ru":"Режим нагрева воды !{{|не}}","sv":"Varmvattenläge !{{är|är inte}}","es":"El modo de agua caliente !{{está activado|está desactivado}}","fr":"Le mode eau chaude !{{est|n\'est pas}}","no":"Varmtvannsmodusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_hot_water_mode","title":{"en":"Set the hot water mode to","nl":"De warmwatermodus instellen op","da":"Indstil varmtvandstilstanden til","it":"Imposta la modalità acqua calda su","ko":"온수 모드를 다음으로 설정","pl":"Ustaw tryb ciepłej wody na","ru":"Установить режим нагрева воды на","sv":"Ställ in varmvattenläget på","es":"Ajustar el modo de agua caliente en","fr":"Définir le mode eau chaude sur","no":"Sett varmtvannsmodusen til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Laundry washer cycles","nl":"Wascycli","da":"Vaskemaskinens cyklusser","it":"Cicli di lavaggio della lavatrice","ko":"세탁기 사이클","pl":"Cykle prania","ru":"Циклы стирки","sv":"Tvättmaskinscykler","es":"Ciclos de lavado","fr":"Cycles du lave-linge","no":"Vaskesykluser"},"desc":{"en":"The amount of cycles the laundry washer should perform.","nl":"Het aantal wascycli dat de wasmachine moet uitvoeren.","da":"Antallet af cyklusser, som vaskemaskinen skal udføre.","it":"La quantità di cicli che la lavatrice deve eseguire.","ko":"세탁기가 동작할 사이클의 수입니다.","pl":"Liczba cykli, które powinna wykonać pralka.","ru":"Количество циклов стирки, которые должна выполнять стиральная машина.","sv":"Antalet cykler som tvättmaskinen ska utföra.","es":"El número de ciclos que debe hacer la lavadora.","fr":"Le nombre de cycles que le lave-linge doit effectuer.","no":"Antall sykluser vaskemaskinen skal gjennomføre."},"values":[{"id":"none","title":{"en":"None","nl":"Geen","da":"Ingen","it":"Nessuno","ko":"없음","pl":"Brak","ru":"Нет","sv":"Ingen","es":"Ninguno","fr":"Aucun","no":"Ingen"}},{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalne","ru":"Стандарт","sv":"Normal","es":"Normal","fr":"Normal","no":"Standard"}},{"id":"extra","title":{"en":"Extra","nl":"Extra","da":"Ekstra","it":"Extra","ko":"더 많이","pl":"Dodatkowe","ru":"Дополнительно","sv":"Extra","es":"Extra","fr":"Extra","no":"Ekstra"}},{"id":"max","title":{"en":"Max","nl":"Max","da":"Maks","it":"Max","ko":"최대","pl":"Maksymalne","ru":"Максимально","sv":"Max","es":"Máximo","fr":"Max","no":"Maks."}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"laundry_washer_cycles_changed","highlight":true,"title":{"en":"The cycles changed to","nl":"De cycli zijn veranderd in","da":"Cyklusserne blev ændret til","it":"I cicli sono passati a","ko":"사이클이 다음으로 변경됨","pl":"Cykle prania zmieniły się na","ru":"Циклы стирки изменены на","sv":"Cyklerna ändrade till","es":"Los ciclos han cambiado a","fr":"Les cycles du lave-linge sont passés à","no":"Syklusene ble endret til"},"args":[{"name":"cycles","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"laundry_washer_cycles_is","title":{"en":"The cycles !{{is|is not}}","nl":"De cycli !{{zijn|zijn niet}} ","da":"Cyklusserne !{{er|er ikke}}","it":"I cicli !{{sono|non sono}}","ko":"사이클이 다음!{{과 같음| 아님}}","pl":"Cykle pralki !{{jest|nie jest}}","ru":"Циклы стирки !{{|не}}","sv":"Cyklerna !{{är|är inte}}","es":"Los ciclos !{{están|no están}}","fr":"Les cycles de lave-linge !{{sont|ne sont pas}}","no":"Syklusene !{{er|er ikke}}"},"args":[{"name":"cycles","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_laundry_washer_cycles","title":{"en":"Set the laundry washer cycles to","nl":"De wasmachinecycli instellen op","da":"Indstil vaskemaskinens cyklusser til","it":"Imposta i cicli della lavatrice su","ko":"세탁기 사이클을 다음으로 설정","pl":"Ustaw cykle prania na","ru":"Установить циклы стирки на","sv":"Ställ in tvättmaskinens cykler på","es":"Ajustar los ciclos de lavado a","fr":"Définir les cycles du lave-linge sur","no":"Sett vaskesyklusene til"},"args":[{"name":"cycles","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Laundry washer program","nl":"Wasprogramma","da":"Vaskemaskineprogram","it":"Programma di lavaggio della lavatrice","ko":"세탁기 프로그램","pl":"Program prania","ru":"Программы стирки","sv":"Tvättmaskinsprogram","es":"Programa de lavado","fr":"Programme du lave-linge","no":"Vaskemaskinprogram"},"desc":{"en":"The current program of the laundry washer.","nl":"Het huidige programma van de wasmachine.","da":"Vaskemaskinens aktuelle program.","it":"Il programma attuale della lavatrice.","ko":"세탁기의 현재 프로그램입니다.","pl":"Bieżący program prania.","ru":"Текущая программа стирки.","sv":"Tvättmaskinens aktuella program.","es":"El programa actual de la lavadora.","fr":"Le programme actuel du lave-linge.","no":"Vaskemaskinens gjeldende program."},"values":[{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalne","ru":"Стандартная","sv":"Normal","es":"Normal","fr":"Normal","no":"Normalt"}},{"id":"auto","title":{"en":"Auto","nl":"Auto","da":"Auto","it":"Auto","ko":"자동","pl":"Auto","ru":"Авто","sv":"Auto","es":"Automático","fr":"Automatique","no":"Automatisk"}},{"id":"quick","title":{"en":"Quick","nl":"Snel","da":"Hurtig","it":"Veloce","ko":"신속","pl":"Szybkie","ru":"Быстрая","sv":"Snabbt","es":"Rápido","fr":"Rapide","no":"Hurtig"}},{"id":"heavy","title":{"en":"Heavy","nl":"Zwaar","da":"Tung","it":"Pesante","ko":"강력","pl":"Intensywne","ru":"Интенсивная","sv":"Tungt","es":"Intensivo","fr":"Long","no":"Kraftig"}},{"id":"whites","title":{"en":"Whites","nl":"Wit","da":"Hvid","it":"Bianchi","ko":"표백","pl":"Biel","ru":"Белые вещи","sv":"Vittvätt","es":"Blancos","fr":"Blancs","no":"Hvitvask"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"laundry_washer_program_changed","highlight":true,"title":{"en":"The program changed to","nl":"Het programma is veranderd in","da":"Programmet blev ændret til","it":"Il programma è passato a","ko":"프로그램이 다음으로 변경됨","pl":"Program zmienił się na","ru":"Программа изменена на","sv":"Programmet ändrades till","es":"El programa ha cambiado a","fr":"Le programme du lave-linge est passé à","no":"Programmet ble endret til"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"laundry_washer_program_is","title":{"en":"The program !{{is|is not}}","nl":"Het programma !{{is|is niet}}","da":"Programmet !{{er|er ikke}}","it":"Il programma !{{è|non è}}","ko":"프로그램이 다음!{{과 같음| 아님}}","pl":"Program !{{jest|nie jest}}","ru":"Программа !{{|не}}","sv":"Programmet !{{är|är inte}}","es":"El programa !{{está|no está}}","fr":"Le programme du lave-linge !{{est|n\'est pas}}","no":"Programmet !{{er|er ikke}}"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Laundry washer speed","nl":"Toerental van wasmachine","da":"Vaskemaskinens hastighed","it":"Velocità della lavatrice","ko":"세탁기 속도","pl":"Prędkość prania","ru":"Скорость стиральной машины","sv":"Tvättmaskinens hastighet","es":"Velocidad de centrifugado","fr":"Vitesse du lave-linge","no":"Vaskehastighet"},"desc":{"en":"The spin speed of the laundry washer.","nl":"De centrifugesnelheid van de wasmachine.","da":"Vaskemaskinens centrifugeringshastighed.","it":"La velocità di centrifuga della lavatrice.","ko":"세탁기의 회전 속도입니다.","pl":"Prędkość obrotów pralki.","ru":"Скорость отжима в стиральной машине.","sv":"Tvättmaskinens centrifugeringshastighet.","es":"La velocidad de centrifugado de la lavadora.","fr":"La vitesse d\'essorage du lave-linge.","no":"Vaskemaskinens sentrifugehastighet."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lav","it":"Bassa","ko":"저속","pl":"Niska","ru":"Низкая","sv":"Låg","es":"Baja","fr":"Lente","no":"Lav"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Media","ko":"중간","pl":"Średnia","ru":"Средняя","sv":"Medium","es":"Intermedia","fr":"Moyenne","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Høj","it":"Alta","ko":"고속","pl":"Wysoka","ru":"Высокая","sv":"Hög","es":"Alta","fr":"Rapide","no":"Høy"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"laundry_washer_speed_changed","highlight":true,"title":{"en":"The speed changed to","nl":"Het toerental is veranderd in","da":"Hastigheden blev ændret til","it":"La velocità è passata a","ko":"속도가 다음으로 변경됨","pl":"Prędkość zmieniła się na","ru":"Скорость изменена на","sv":"Hastigheten ändrades till","es":"La velocidad ha cambiado a","fr":"La vitesse du lave-linge est passée à","no":"Hastigheten ble endret til"},"args":[{"name":"speed","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"laundry_washer_speed_is","title":{"en":"The speed !{{is|is not}}","nl":"Het toerental !{{is|is niet}}","da":"Hastigheden !{{er|er ikke}}","it":"La velocità !{{è|non è}}","ko":"속도가 다음!{{과 같음| 아님}}","pl":"Prędkość !{{jest|nie jest}}","ru":"Скорость !{{|не}}","sv":"Hastigheten !{{är|är inte}}","es":"La velocidad !{{está|no está}}","fr":"La vitesse du lave-linge !{{est|n\'est pas}}","no":"Hastigheten !{{er|er ikke}}"},"args":[{"name":"speed","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_laundry_washer_speed","title":{"en":"Set the speed to","nl":"Het toerental instellen op","da":"Indstil hastigheden til","it":"Imposta la velocità su","ko":"속도를 다음으로 설정","pl":"Ustaw prędkość na","ru":"Установить скорость на","sv":"Ställ in hastigheten på","es":"Ajustar la velocidad a","fr":"Définir la vitesse du lave-linge sur","no":"Sett hastigheten til"},"args":[{"name":"speed","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Air quality level","nl":"Luchtkwaliteitsniveau","da":"Luftkvalitetsniveau","it":"Livello di qualità dell\'aria","ko":"공기질 수준","pl":"Poziom jakości powietrza","ru":"Уровень качества воздуха","sv":"Luftkvalitetsnivå","es":"Nivel de calidad del aire","fr":"Niveau de qualité de l\'air","no":"Luftkvalitetsnivå"},"desc":{"en":"The air quality index represented as a level.","nl":"De luchtkwaliteitsindex weergegeven als niveau.","da":"Luftkvalitetsindekset repræsenteret som et niveau.","es":"Índice de calidad del aire representado como nivel.","it":"L\'indice di qualità dell\'aria rappresentato come un livello.","ko":"수준으로 표현한 공기질 지수입니다.","pl":"Wskaźnik jakości powietrza przedstawiony jako poziom.","ru":"Показатель качества воздуха, представленный в виде уровня.","sv":"Luftkvalitetsindexet representeras som en nivå.","fr":"L\'indice de qualité de l\'air représenté sous forme de niveau.","no":"Luftkvalitetsindeksen uttrykt som et nivå."},"values":[{"id":"good","title":{"en":"Good","nl":"Goed","da":"Godt","it":"Buono","ko":"좋음","pl":"Dobry","ru":"Хороший","sv":"Bra","es":"Bueno","fr":"Bon","no":"God"}},{"id":"fair","title":{"en":"Fair","da":"Dårligt","es":"Deficiente","fr":"Mauvais","it":"Scarso","ko":"나쁨","nl":"Slecht","no":"Dårlig","pl":"Niski","ru":"Плохой","sv":"Dålig"}},{"id":"moderate","title":{"en":"Moderate","da":"Meget dårligt","es":"Muy deficiente","fr":"Très mauvais","it":"Molto scarso","ko":"매우 나쁨","nl":"Zeer slecht","no":"Svært dårlig","pl":"Bardzo niski","ru":"Очень плохой","sv":"Mycket dålig"}},{"id":"poor","title":{"en":"Poor","nl":"Slecht","da":"Dårligt","it":"Scarso","ko":"나쁨","pl":"Niski","ru":"Плохой","sv":"Dålig","es":"Deficiente","fr":"Mauvais","no":"Dårlig"}},{"id":"very_poor","title":{"en":"Very Poor","nl":"Zeer slecht","da":"Meget dårligt","it":"Molto scarso","ko":"매우 나쁨","pl":"Bardzo niski","ru":"Очень плохой","sv":"Mycket dålig","es":"Muy deficiente","fr":"Très mauvais","no":"Svært dårlig"}},{"id":"extremely_poor","title":{"en":"Extremely Poor","nl":"Extreem slecht","da":"Ekstremt dårligt","it":"Estremamente scarso","ko":"극도로 나쁨","pl":"Skrajnie niski","ru":"Чрезвычайно плохой","sv":"Extremt dålig","es":"Extremadamente deficiente","fr":"Extrêmement mauvais","no":"Ekstremt dårlig"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_aqi_changed","highlight":true,"title":{"en":"The air quality level changed to","nl":"Het luchtkwaliteitsniveau is veranderd naar","da":"Luftkvalitetsniveauet blev ændret til","it":"Il livello di qualità dell\'aria è passato a","ko":"공기질 수준이 다음으로 변경됨","pl":"Poziom jakości powietrza zmienił się na","ru":"Уровень качества воздуха изменился на","sv":"Luftkvalitetsnivån ändrades till","es":"El nivel de calidad del aire ha cambiado a","fr":"Le niveau de qualité de l\'air est passé à","no":"Luftkvalitetsnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_aqi_is","title":{"en":"The air quality !{{is|is not}}","nl":"De luchtkwaliteit !{{is|is niet}}","da":"Luftkvaliteten !{{er|er ikke}}","it":"La qualità dell\'aria !{{è|non è}}","ko":"공기질이 다음!{{과 같음| 아님}}","pl":"Jakość powietrza !{{jest|nie jest}}","ru":"Качество воздуха !{{|не}}","sv":"Luftkvaliteten !{{är|är inte}}","es":"La calidad del aire !{{es|no es}}","fr":"La qualité de l\'air !{{est|n\'est pas}}","no":"Luftkvaliteten !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Carbon filter level","nl":"Koolstoffilterniveau","da":"Niveau for kulfilter","it":"Livello filtro a carbone","ko":"카본 필터 수준","pl":"Poziom filtra węglowego","ru":"Уровень угольного фильтра","sv":"Kolfilternivå","es":"Nivel de filtro de carbono","fr":"Niveau du filtre à charbon","no":"Karbonfilternivå"},"desc":{"en":"The level of degredation on the active carbon filter.","nl":"De mate van aantasting van het actieve koolstoffilter.","da":"Niveauet af nedbrydning på det aktive kulfilter.","it":"Il livello di degradazione del filtro a carbone attivo.","ko":"활성탄 필터의 백화 수준입니다.","pl":"Poziom degradacji filtra z węglem aktywnym.","ru":"Уровень снижения производительности фильтра с активированным углем.","sv":"Graden av nedbrytning på det aktiva kolfiltret.","es":"El nivel de degradación del filtro de carbón activo.","fr":"Le niveau de dégradation du filtre à charbon actif.","no":"Nedbrytingsnivået for filteret med aktivt kull."},"values":[{"id":"ok","title":{"en":"OK","nl":"OK","da":"OK","it":"OK","ko":"좋음","pl":"OK","ru":"Нормальный","sv":"OK","es":"Correcto","fr":"OK","no":"OK"}},{"id":"warning","title":{"en":"Warning","nl":"Waarschuwing","da":"Advarsel","it":"Attenzione","ko":"경고","pl":"Ostrzeżenie","ru":"Требующий внимания","sv":"Varning","es":"Advertencia","fr":"Avertissement","no":"Advarsel"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"교체 요망","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_carbon_filter_changed","highlight":true,"title":{"en":"The carbon filter level changed to","nl":"Het koolstoffilterniveau is veranderd in","da":"Kulfilterniveauet blev ændret til","it":"Il livello del filtro al carbone è passato a","ko":"카본 필터 수준이 다음으로 변경됨","pl":"Poziom filtra węglowego zmienił się na","ru":"Уровень угольного фильтра изменился на","sv":"Kolfilternivån ändrades till","es":"El nivel del filtro de carbón ha cambiado a","fr":"Le niveau du filtre à charbon est passé à","no":"Karbonfilternivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_carbon_filter_is","title":{"en":"The carbon filter level !{{is|is not}}","nl":"Het koolstoffilterniveau !{{is|is niet}}","da":"Niveauet for kulfilteret !{{er|er ikke}}","it":"Il livello del filtro a carbone !{{è|non è}}","ko":"카본 필터 수준이 다음!{{과 같음| 아님}}","pl":"Poziom filtra węglowego !{{jest|nie jest}}","ru":"Уровень угольного фильтра !{{|не}}","sv":"Kolfilternivån !{{är|är inte}}","es":"El nivel del filtro de carbono !{{es|no es}}","fr":"Le niveau du filtre à charbon !{{est|n\'est pas}}","no":"Karbonfilternivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Formaldehyde Level","nl":"Formaldehydeniveau","da":"Formaldehydniveau","it":"Livello di formaldeide","ko":"포름알데히드 수준","pl":"Poziom formaldehydu","ru":"Уровень формальдегида","sv":"Formaldehydnivå","es":"Nivel de formaldehído","fr":"Niveau de formaldéhyde","no":"Formaldehydnivå"},"desc":{"en":"The level of formaldehyde in the air.","nl":"De mate van formaldehyde in de lucht.","da":"Niveauet af formaldehyd i luften.","it":"Il livello di formaldeide nell\'aria.","ko":"공기 중 포름알데히드의 수준입니다.","pl":"Poziom formaldehydu w powietrzu.","ru":"Уровень содержания формальдегида в воздухе.","sv":"Halten av formaldehyd i luften.","es":"El nivel de formaldehído en el aire.","fr":"Le niveau de formaldéhyde dans l\'air.","no":"Nivået av formaldehyd i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_ch2o_changed","highlight":true,"title":{"en":"The formaldehyde level changed to","nl":"Het formaldehydeniveau is veranderd naar","da":"Formaldehydniveauet blev ændret til","it":"Il livello di formaldeide è passato a","ko":"포름알데히드 수준이 다음으로 변경됨","pl":"Poziom formaldehydu zmienił się na","ru":"Уровень формальдегида изменился на","sv":"Formaldehydnivån ändrades till","es":"El nivel de formaldehído ha cambiado a","fr":"Le niveau de formaldéhyde est passé à","no":"Formaldehydnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_ch2o_is","title":{"en":"The formaldehyde level !{{is|is not}}","nl":"Het formaldehydeniveau !{{is|is niet}}","da":"Niveauet af formaldehyd !{{er|er ikke}}","it":"Il livello di formaldeide !{{è|non è}}","ko":"포름알데히드 수준이 다음!{{과 같음| 아님}}","pl":"Poziom formaldehydu !{{jest|nie jest}}","ru":"Уровень формальдегида !{{|не}}","sv":"Nivån av formaldehyd !{{är|är inte}}","es":"El nivel de formaldehído !{{es|no es}}","fr":"Le taux de formaldéhyde !{{est|n\'est pas}}","no":"Formaldehydnivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"CO level","nl":"CO-niveau","da":"CO-niveau","it":"Livello di CO","ko":"CO 수준","pl":"Poziom CO","ru":"Уровень CO","sv":"CO-nivå","es":"Nivel de monóxido de carbono","fr":"Niveau de CO","no":"CO-nivå"},"desc":{"en":"The level of CO in the air.","nl":"De mate van CO in de lucht.","da":"Niveauet af CO i luften.","it":"Il livello di CO nell\'aria.","ko":"공기 중 CO의 수준입니다.","pl":"Poziom tlenku węgla w powietrzu.","ru":"Уровень содержания CO в воздухе.","sv":"Halten av CO i luften.","es":"El nivel de monóxido de carbono en el aire.","fr":"Le niveau de CO dans l\'air.","no":"Nivået av CO i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_co_changed","highlight":true,"title":{"en":"The CO level changed to","nl":"Het CO-niveau is veranderd naar","da":"CO-niveauet blev ændret til","it":"Il livello di CO è passato a","ko":"CO 수준이 다음으로 변경됨","pl":"Poziom CO zmienił się na","ru":"Уровень СО изменился на","sv":"CO-nivån ändrades till","es":"El nivel de monóxido de carbono ha cambiado a","fr":"Le niveau de CO est passé à","no":"CO-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_co_is","title":{"en":"The CO level !{{is|is not}}","nl":"Het CO-niveau !{{is|is niet}}","da":"CO-niveauet !{{er|er ikke}}","it":"Il livello di CO !{{è|non è}}","ko":"CO 수준이 다음!{{과 같음| 아님}}","pl":"Poziom CO !{{jest|nie jest}}","ru":"Уровень CO !{{|не}}","sv":"CO-nivån !{{är|är inte}}","es":"El nivel de monóxido de carbono !{{es|no es}}","fr":"Le niveau de CO !{{est|n\'est pas}}","no":"CO-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"CO2 Level","nl":"CO2-niveau","da":"CO2-niveau","it":"Livello di CO2","ko":"CO2 수준","pl":"Poziom CO2","ru":"Уровень CO2","sv":"CO2-nivå","es":"Nivel de CO2","fr":"Niveau de CO2","no":"CO2-nivå"},"desc":{"en":"The level of CO2 in the air.","nl":"De mate van CO2 in de lucht.","da":"Niveauet af CO2 i luften.","it":"Il livello di CO2 nell\'aria.","ko":"공기 중 CO2의 수준입니다.","pl":"Poziom dwutlenku węgla w powietrzu.","ru":"Уровень содержания CO2 в воздухе.","sv":"Halten av CO2 i luften.","es":"El nivel de CO2 en el aire.","fr":"Le niveau de CO2 dans l\'air.","no":"Nivået av CO2 i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_co2_changed","highlight":true,"title":{"en":"The CO2 level changed to","nl":"Het CO2-niveau is veranderd naar","da":"CO2-niveauet blev ændret til","it":"Il livello di CO2 è passato a","ko":"CO2 수준이 다음으로 변경됨","pl":"Poziom CO2 zmienił się na","ru":"Уровень CO2 изменился на","sv":"CO2-nivån ändrades till","es":"El nivel de CO2 ha cambiado a","fr":"Le niveau de CO2 est passé à","no":"CO2-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_co2_is","title":{"en":"The CO2 level !{{is|is not}}","nl":"Het CO2-niveau !{{is|is niet}}","da":"CO2-niveauet !{{er|er ikke}}","it":"Il livello di CO2 !{{è|non è}}","ko":"CO2 수준이 다음!{{과 같음| 아님}}","pl":"Poziom CO2 !{{jest|nie jest}}","ru":"Уровень CO2 !{{|не}}","sv":"CO2-nivån !{{är|är inte}}","es":"El nivel de CO2 !{{es|no es}}","fr":"Le taux de CO2 !{{est|n\'est pas}}","no":"CO2-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"HEPA filter level","nl":"HEPA-filterniveau","da":"Niveau for HEPA-filter","it":"Livello del filtro HEPA","ko":"HEPA 필터 수준","pl":"Poziom filtra HEPA","ru":"Уровень HEPA-фильтра","sv":"HEPA-filternivå","es":"Nivel del filtro HEPA","fr":"Niveau du filtre HEPA","no":"HEPA-filternivå"},"desc":{"en":"The level of degredation on the HEPA filter.","nl":"De mate van aantasting van het HEPA-filter.","da":"Niveauet af nedbrydning på HEPA-filteret.","it":"Il livello di degradazione del filtro HEPA.","ko":"HEPA 필터의 오염 수준입니다.","pl":"Poziom degradacji filtra HEPA.","ru":"Уровень снижения производительности HEPA-фильтра.","sv":"Graden av nedbrytning på HEPA-filtret.","es":"El nivel de degradación del filtro HEPA.","fr":"Le niveau de dégradation du filtre HEPA.","no":"Nedbrytingsnivået for HEPA-filteret."},"values":[{"id":"ok","title":{"en":"OK","nl":"OK","da":"OK","it":"OK","ko":"좋음","pl":"OK","ru":"Нормальный","sv":"OK","es":"Correcto","fr":"OK","no":"OK"}},{"id":"warning","title":{"en":"Warning","nl":"Waarschuwing","da":"Advarsel","it":"Attenzione","ko":"경고","pl":"Ostrzeżenie","ru":"Требующий внимания","sv":"Varning","es":"Advertencia","fr":"Avertissement","no":"Advarsel"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"교체 요망","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_hepa_filter_changed","highlight":true,"title":{"en":"The HEPA filter level changed to","nl":"Het HEPA-filterniveau is veranderd naar","da":"HEPA-filterets niveau blev ændret til","it":"Il livello del filtro HEPA è passato a","ko":"HEPA 필터 수준이 다음으로 변경됨","pl":"Poziom filtra HEPA zmienił się na","ru":"Уровень HEPA-фильтра изменился на","sv":"HEPA-filternivån ändrades till","es":"El filtro HEPA ha cambiado a","fr":"Le niveau du filtre HEPA est passé à","no":"HEPA-filternivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_hepa_filter_is","title":{"en":"The HEPA filter level !{{is|is not}}","nl":"Het HEPA-filterniveau !{{is|is niet}}","da":"HEPA-filterets niveau !{{er|er ikke}}","it":"Il livello del filtro HEPA !{{è|non è}}","ko":"HEPA 필터 수준이 다음!{{과 같음| 아님}}","pl":"Poziom filtra HEPA !{{jest|nie jest}}","ru":"Уровень фильтра HEPA !{{|не}}","sv":"HEPA-filternivån !{{är|är inte}}","es":"El nivel del filtro HEPA !{{es|no es}}","fr":"Le niveau du filtre HEPA !{{est|n\'est pas}}","no":"HEPA-filternivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"NOx level","nl":"NOx-niveau","da":"NOx-niveau","it":"Livello di NOx","ko":"NOx 수준","pl":"Poziom NOx","ru":" Уровень NOx","sv":"NOx-nivå","es":"Nivel de NOx","fr":"Niveau de NOx","no":"NOx-nivå"},"desc":{"en":"The level of nitrogen oxides in the air.","nl":"De mate van stikstofoxiden in de lucht.","da":"Niveauet af nitrogenoxider i luften.","it":"Il livello di ossidi di azoto nell\'aria.","ko":"공기 중 질소 산화물 수준입니다.","pl":"Poziom tlenków azotu w powietrzu.","ru":"Уровень содержания оксидов азота в воздухе.","sv":"Halten av kväveoxider i luften.","es":"El nivel de óxidos de nitrógeno en el aire.","fr":"Le niveau d\'oxydes d\'azote dans l\'air.","no":"Nitrogenoksidnivået i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_nox_changed","highlight":true,"title":{"en":"The NOx level changed to","nl":"Het NOx-niveau is veranderd naar","da":"NOx-niveauet blev ændret til","it":"Il livello di NOx è passato a","ko":"NOx 수준이 다음으로 변경됨","pl":"Poziom NOx zmienił się na","ru":"Уровень NOx изменился на","sv":"NOx-nivån ändrades till","es":"El nivel de NOx ha cambiado a","fr":"Le niveau de NOx est passé à","no":"NOx-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_nox_is","title":{"en":"The NOx level !{{is|is not}}","nl":"Het NOx-niveau !{{is|is niet}}","da":"NOx-niveauet !{{er|er ikke}}","it":"Il livello di NOx !{{è|non è}}","ko":"NOx 수준이 다음!{{과 같음| 아님}}","pl":"Poziom NOx !{{jest|nie jest}}","ru":"Уровень NOx !{{|не}}","sv":"NOx-nivån !{{är|är inte}}","es":"El nivel de NOx !{{es|no es}}","fr":"Le niveau de NOx !{{est|n\'est pas}}","no":"NOx-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Ozone Level","nl":"Ozonniveau","da":"Ozon-niveau","it":"Livello di ozono","ko":"오존 수준","pl":"Poziom ozonu","ru":"Уровень озона","sv":"Ozonnivå","es":"Nivel de ozono","fr":"Niveau d\'ozone","no":"Ozonnivå"},"desc":{"en":"The level of ozone in the air.","nl":"De mate van ozon in de lucht.","da":"Niveauet af ozon i luften.","it":"Il livello di ozono nell\'aria.","ko":"공기 중 오존 수준입니다.","pl":"Poziom ozonu w powietrzu.","ru":"Уровень содержания озона в воздухе.","sv":"Halten av ozon i luften.","es":"El nivel de ozono en el aire.","fr":"Le niveau d\'ozone dans l\'air.","no":"Nivået av ozon i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk\\n"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_o3_changed","highlight":true,"title":{"en":"The ozone level changed to","nl":"Het ozonniveau is veranderd naar","da":"Ozonniveauet ændrede sig til","it":"Il livello di ozono è passato a","ko":"오존 수준이 다음으로 변경됨","pl":"Poziom ozonu zmienił się na","ru":"Уровень озона изменился на","sv":"Ozonnivån ändrades till","es":"El nivel de ozono ha cambiado a","fr":"Le niveau d\'ozone est passé à","no":"Ozonnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_o3_is","title":{"en":"The ozone level !{{is|is not}}","nl":"Het ozonniveau !{{is|is niet}}","da":"Ozonniveauet !{{er|er ikke}}","it":"Il livello di ozono !{{è|non è}}","ko":"오존 수준이 다음!{{과 같음| 아님}","pl":"Poziom ozonu !{{jest|nie jest}}","ru":"Уровень озона !{{|не}}","sv":"Ozonnivån !{{är|är inte}}","es":"El nivel de ozono !{{es|no es}}","fr":"Le niveau d\'ozone !{{est|n\'est pas}}","no":"Ozonnivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM0.1 level","nl":"PM0.1-niveau","da":"PM0.1-niveau","it":"Livello PM0.1","ko":"PM0.1 수준","pl":"Poziom PM0.1","ru":"Уровень ТЧ0.1","sv":"PM0.1-nivå","es":"Nivel de PM0,1","fr":"Niveau de PM0.1","no":"PM0.1-nivå"},"desc":{"en":"The level of PM0.1 particles in the air.","nl":"De mate van PM0.1-deeltjes in de lucht.","da":"Niveauet af PM0.1-partikler i luften.","it":"Il livello di particelle PM0.1 nell\'aria.","ko":"공기 중 PM0.1 입자의 수준입니다.","pl":"Poziom cząstek PM0.1 w powietrzu.","ru":"Уровень содержания частиц ТЧ0.1 в воздухе.","sv":"Halten av PM0.1-partiklar i luften.","es":"El nivel de partículas PM0,1 en el aire.","fr":"Le niveau de particules PM0.1 dans l\'air.","no":"Nivået av PM0.1-partikler i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm01_changed","highlight":true,"title":{"en":"The PM0.1 level changed to","nl":"Het PM0.1-niveau is veranderd naar","da":"PM0.1-niveauet blev ændret til","it":"Il livello PM0.1 è passato a","ko":"PM0.1 수준이 다음으로 변경됨","pl":"Poziom PM0.1 zmienił się na","ru":"Уровень ТЧ0.1 изменился на","sv":"PM0.1-nivån ändrades till","es":"El nivel de PM0,1 ha cambiado a","fr":"Le niveau de PM0.1 est passé à","no":"PM0.1-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm01_is","title":{"en":"The PM0.1 level !{{is|is not}}","nl":"Het PM0.1-niveau !{{is|is niet}}","da":"PM0.1-niveauet !{{er|er ikke}}","it":"Il livello PM0.1 !{{è|non è}}","ko":"PM0.1 수준이 다음!{{과 같음| 아님}}","pl":"Poziom PM0.1 {{jest|nie jest}}","ru":"Уровень ТЧ0.1 !{{|не}}","sv":"PM0.1-nivån !{{är|är inte}}","es":"El nivel de PM0,1 !{{es|no es}}","fr":"Le niveau PM0.1 !{{est|n\'est pas}}","no":"PM0.1-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM1 level","nl":"PM1-niveau","da":"PM1-niveau","it":"Livello PM1","ko":"PM1 수준","pl":"Poziom PM1","ru":"Уровень ТЧ1","sv":"PM1-nivå","es":"Nivel de PM1","fr":"Niveau de PM1","no":"PM1-nivå"},"desc":{"en":"The amount of PM1 particles in the air represented by a level.","nl":"De hoeveelheid PM1-deeltjes in de lucht weergegeven als niveau.","da":"Mængden af PM1-partikler i luften repræsenteret ved et niveau.","es":"La cantidad de partículas PM1 en el aire representada por un nivel.","it":"La quantità di particelle PM1 nell\'aria rappresentata da un livello.","ko":"수준으로 표현한 공기 중 PM1 입자의 양입니다.","pl":"Ilość cząstek PM1 w powietrzu przedstawiona jako poziom.","ru":"Количество частиц ТЧ1 в воздухе, представленное в виде уровня.","sv":"Mängden PM1-partiklar i luften som representeras av en nivå.","fr":"La quantité de particules PM1 dans l\'air représentée sous forme de niveau.","no":"Mengden av PM1-partikler i luften uttrykt som et nivå."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen\\n","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm1_changed","highlight":true,"title":{"en":"The PM1 level changed to","nl":"Het PM1-niveau is veranderd naar","da":"PM1-niveauet blev ændret til","it":"Il livello PM1 è passato a","ko":"PM1 수준이 다음으로 변경됨","pl":"Poziom PM1 zmienił się na","ru":"Уровень ТЧ1 изменился на","sv":"PM1-nivån ändrades till","es":"El nivel de PM1 ha cambiado a","fr":"Le niveau PM1 est passé à","no":"PM1-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm1_is","title":{"en":"The PM1 level !{{is|is not}}","nl":"Het PM1-niveau is !{{is|is niet}}","da":"PM1-niveauet !{{er|er ikke}}","it":"Il livello PM1 !{{è|non è}}","ko":"PM1 수준이 다음!{{과 같음| 아님}}","pl":"Poziom PM1 !{{jest|nie jest}}","ru":"Уровень ТЧ1 !{{|не}}","sv":"PM1-nivån !{{är|är inte}}","es":"El nivel de PM1 !{{es|no es}}","fr":"Le niveau PM1 !{{est|n\'est pas}}","no":"PM1-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM10 level","nl":"PM10-niveau","da":"PM10-niveau","it":"Livello di PM10","ko":"PM10 수준","pl":"Poziom PM10","ru":"Уровень ТЧ10","sv":"PM10-nivå","es":"Nivel de PM10","fr":"Niveau de PM10","no":"PM10-nivå"},"desc":{"en":"The level of PM10 particles in the air.","nl":"De mate van PM10-deeltjes in de lucht.","da":"Niveauet af PM10-partikler i luften.","it":"Il livello di particelle PM10 nell\'aria.","ko":"공기 중 PM10 입자의 수준입니다.","pl":"Poziom cząstek PM10 w powietrzu.","ru":"Уровень содержания частиц ТЧ10 в воздухе.","sv":"Halten av PM10-partiklar i luften.","es":"El nivel de partículas PM10 en el aire.","fr":"Le niveau de particules PM10 dans l\'air.","no":"Nivået av PM10-partikler i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm10_changed","highlight":true,"title":{"en":"The PM10 level changed to","nl":"Het PM10-niveau is veranderd naar","da":"PM10-niveauet blev ændret til","it":"Il livello di PM10 è passato a","ko":"PM10 수준이 다음으로 변경됨","pl":"Poziom PM10 zmienił się na","ru":"Уровень ТЧ10 изменился на","sv":"PM10-nivån ändrades till","es":"El nivel de PM10 ha cambiado a","fr":"Le niveau de PM10 est passé à","no":"PM10-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm10_is","title":{"en":"The PM10 level !{{is|is not}}","nl":"Het PM10-niveau !{{is|is niet}}","da":"PM10-niveauet !{{er|er ikke}}","it":"Il livello di PM10 !{{è|non è}}","ko":"PM10 수준이 다음!{{과 같음| 아님}}","pl":"Poziom PM10 !{{jest|nie jest}}","ru":"Уровень ТЧ10 !{{|не}}","sv":"PM10-nivån !{{är|är inte}}","es":"El nivel de PM10 !{{es|no es}}","fr":"Le niveau de PM10 !{{est|n\'est pas}}","no":"PM10-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM2.5 Level","nl":"PM2.5-niveau","da":"PM2.5-niveau","it":"Livello PM2.5","ko":"PM2.5 수준","pl":"Poziom PM2.5","ru":"Уровень ТЧ2.5","sv":"PM2.5-nivå","es":"Nivel de PM2,5","fr":"Niveau de PM2.5","no":"PM2.5-nivå"},"desc":{"en":"The level of PM2.5 particles in the air.","nl":"De mate van PM2.5-deeltjes in de lucht.","da":"Niveauet af PM2.5-partikler i luften.","it":"Il livello di particelle PM2.5 nell\'aria.","ko":"공기 중 PM2.5 입자의 수준입니다.","pl":"Poziom cząstek PM2.5 w powietrzu.","ru":"Уровень содержания частиц ТЧ2.5 в воздухе.","sv":"Halten av PM2.5-partiklar i luften.","es":"El nivel de partículas PM2,5 en el aire.","fr":"Le niveau de particules PM2.5 dans l\'air.","no":"Nivået av PM2.5-partikler i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm25_changed","highlight":true,"title":{"en":"The PM2.5 level changed to","nl":"Het PM2.5-niveau is veranderd naar","da":"PM2.5-niveauet blev ændret til","it":"Il livello di PM2.5 è passato a","ko":"PM2.5 수준이 다음으로 변경됨","pl":"Poziom PM2.5 zmienił się na","ru":"Уровень ТЧ2.5 изменился на","sv":"PM2.5-nivån ändrades till","es":"El nivel de PM2,5 ha cambiado a","fr":"Le niveau de PM2.5 est passé à","no":"PM2.5-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm25_is","title":{"en":"The PM2.5 level !{{is|is not}}","nl":"Het PM2.5-niveau !{{is|is niet}}","da":"PM2.5-niveauet !{{er|er ikke}}","it":"Il livello di PM2.5 !{{è|non è}}","ko":"PM2.5 수준이 다음!{{과 같음| 아님}}","pl":"Poziom PM2.5 !{{jest|nie jest}}","ru":"Уровень ТЧ2.5 !{{|не}}","sv":"PM2.5-nivån !{{är|är inte}}","es":"El nivel de PM2,5 !{{es|no es}}","fr":"Le niveau de PM2.5 !{{est|n\'est pas}}","no":"PM2.5-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Radon Level","nl":"Radonniveau","da":"Radon-niveau","it":"Livello di radon","ko":"라돈 수준","pl":"Poziom radonu","ru":"Уровень радона","sv":"Radonnivå","es":"Nivel de radón","fr":"Niveau de radon","no":"Radonnivå"},"desc":{"en":"The level of radioactive radon gas in the air.","nl":"De mate van radioactief radongas in de lucht.","da":"Niveauet af radioaktiv radongas i luften.","it":"Il livello di gas radon radioattivo nell\'aria.","ko":"공기 중 방사성 라돈 기체의 수준입니다.","pl":"Poziom radioaktywnego radonu w powietrzu.","ru":"Уровень содержания радиоактивного радона в воздухе.","sv":"Halten av radioaktiv radongas i luften.","es":"El nivel de gas radón radiactivo en el aire.","fr":"Le niveau de radon radioactif dans l\'air.","no":"Nivået av radioaktiv radongass i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_radon_changed","highlight":true,"title":{"en":"The radon level changed to","nl":"Het radonniveau is veranderd naar","da":"Radonniveauet ændrede sig til","it":"Il livello di radon è passato a","ko":"라돈 수준이 다음으로 변경됨","pl":"Poziom radonu zmienił się na","ru":"Уровень радона изменился на","sv":"Radonnivån ändrades till","es":"El nivel de radón ha cambiado a","fr":"Le niveau de radon est passé à","no":"Radonnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_radon_is","title":{"en":"The radon level !{{is|is not}}","nl":"Het radonniveau !{{is|is niet}}","da":"Radonniveauet !{{er|er ikke}}","it":"Il livello di radon !{{è|non è}}","ko":"라돈 수준이 다음!{{과 같음| 아님}}","pl":"Poziom radonu !{{jest|nie jest}}","ru":"Уровень радона !{{|не}}","sv":"Radonnivån !{{är|är inte}}","es":"El nivel de radón !{{es|no es}}","fr":"Le niveau de radon !{{est|n\'est pas}}","no":"Radonnivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"SO2 Level","nl":"SO2-Niveau","da":"SO2-niveau","it":"Livello di SO2","ko":"SO2 수준","pl":"Poziom SO2","ru":"Уровень SO2","sv":"SO2-nivå","es":"Nivel de SO2","fr":"Niveau de SO2","no":"SO2-nivå"},"desc":{"en":"The level of sulfur dioxide in the air.","nl":"De mate van zwaveldioxide in de lucht.","da":"Niveauet af svovldioxid i luften.","it":"Il livello di anidride solforosa nell\'aria.","ko":"공기 중 이산화황의 수준입니다.","pl":"Poziom dwutlenku siarki w powietrzu.","ru":"Уровень содержания диоксида серы в воздухе.","sv":"Halten av svaveldioxid i luften.","es":"El nivel de dióxido de azufre en el aire.","fr":"Le niveau de dioxyde de soufre dans l\'air.","no":"Nivået av svoveldioksid i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"\\n","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_so2_changed","highlight":true,"title":{"en":"The SO2 level changed to","nl":"Het SO2-niveau is veranderd naar","da":"SO2-niveauet blev ændret til","it":"Il livello di SO2 è passato a","ko":"SO2 수준이 다음으로 변경됨","pl":"Poziom SO2 zmienił się na","ru":"Уровень SO2 изменился yf","sv":"SO2-nivån ändrades till","es":"El nivel de SO2","fr":"Le niveau de SO2 est passé à","no":"SO2-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_so2_is","title":{"en":"The SO2 level !{{is|is not}}","nl":"Het SO2-niveau !{{is|is niet}}","da":"SO2-niveauet !{{er|er ikke}}","it":"Il livello di SO2 !{{è|non è}}","ko":"SO2 수준이 다음!{{과 같음| 아님}}","pl":"Poziom SO2 !{{jest|nie jest}}","ru":"Уровень SO2 !{{|не}}","sv":"SO2-nivån !{{är|är inte}}","es":"El nivel de SO2 !{{es|no es}}","fr":"Le niveau de SO2 !{{est|n\'est pas}}","no":"SO2-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"TVOC Level","nl":"TVOC-niveau","da":"TVOC-niveau","it":"Livello di TVOC","ko":"TVOC 수준","pl":"Poziom wszystkich LZO","ru":"Уровень TVOC","sv":"TVOC-nivå","es":"Nivel de TVOC","fr":"Niveau de COVT","no":"TVOC-nivå"},"desc":{"en":"The level of total volatile organic compounds in the air.","nl":"De mate van totaal vluchtige organische stoffen in de lucht.","da":"Niveauet af samlede flygtige organiske forbindelser i luften.","it":"Il livello di composti organici volatili totali nell\'aria.","ko":"공기 중 휘발성 유기 화합물의 총량 수준입니다.","pl":"Poziom wszystkich lotnych związków organicznych w powietrzu.","ru":"Уровень общего содержания летучих органических соединений в воздухе.","sv":"Halten av totala mängden flyktiga organiska föreningar i luften.","es":"El nivel de compuestos orgánicos volátiles totales en el aire.","fr":"Le niveau de composés organiques volatils totaux dans l\'air.","no":"Nivået av total mengde flyktige organiske forbindelser i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"치명적","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_tvoc_changed","highlight":true,"title":{"en":"The TVOC level changed to","nl":"Het TVOC-niveau is veranderd naar","da":"TVOC-niveauet blev ændret til","it":"Il livello di TVOC è passato a","ko":"TVOC 수준이 다음으로 변경됨","pl":"Poziom wszystkich LZO zmienił się na","ru":"Уровень TVOC изменился на","sv":"TVOC-nivån ändrades till","es":"El nivel de COVT ha cambiado a","fr":"Le niveau en COVT est passé à","no":"TVOC-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_tvoc_is","title":{"en":"The TVOC level !{{is|is not}}","nl":"Het TVOC-niveau !{{is|is niet}}","da":"TVOC-niveauet !{{er|er ikke}}","it":"Il livello di TVOC !{{è|non è}}","ko":"TVOC 수준이 다음!{{과 같음| 아님}}","pl":"Poziom wszystkich LZO !{{jest|nie jest}}","ru":"Уровень TVOC !{{|не}}","sv":"TVOC-nivån !{{är|är inte}}","es":"El nivel de TVOC !{{es|no es}}","fr":"Le niveau de COVT !{{est|n\'est pas}}","no":"TVOC-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Hue","nl":"Tint","de":"Farbton","fr":"Teinte","it":"Tonalità","sv":"Nyans","no":"Fargetone","es":"Tonalidad","da":"Farvetone","ru":"Оттенок","pl":"Odcień","ko":"색조"},"min":0,"chartType":"stepLine","max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"color","$flow":{"actions":[{"id":"hue","title":{"en":"Set the hue","nl":"Verander kleurtint","de":"Den Farbton setzen","fr":"Définir la teinte","it":"Imposta la tonalità","sv":"Ställ in nyans","no":"Innstill fargetone","es":"Configurar la tonalidad","da":"Indstil farvetonen","ru":"Установить оттенок","pl":"Ustaw odcień","ko":"색조 설정"},"hint":{"en":"Select a color from the hue scale, for example red (0°/360°), yellow (60°), or blue (180°).","nl":"Selecteer een kleurtint van de hue schaal, bijvoorbeeld rood (0°/360°), geel (60°), of blauw (180°).","ru":"Выберите цвет из шкалы оттенков, например красный (0°/360°), желтый (60°) или синий (180°).","pl":"Wybierz barwę ze skali odcieni: np. czerwień (0°/360°), żółty (60°) lub niebieski (180°).","ko":"색조 스케일에서 색상을 선택하세요. 빨간색은 (0°/360°), 노란색은 (60°), 파란색은 (180°)입니다.","no":"Velg en farge fra fargeskalaen, for eksempel rød (0°/360°), gul (60°) eller blå (180°)."},"args":[{"name":"hue","type":"range","min":0,"max":1,"step":0.01,"value":0,"label":"°","labelMultiplier":360,"labelDecimals":0}]},{"id":"color","title":{"en":"Set a color","nl":"Verander naar kleur","de":"Eine Farbe setzen","fr":"Définir la couleur","it":"Imposta un colore","sv":"Ställ in en färg","no":"Innstill fargetone","es":"Configurar un color","da":"Indstil en farve","ru":"Установить цвет","pl":"Ustaw barwę","ko":"색상 설정"},"args":[{"name":"color","type":"color"}]},{"id":"color_random","title":{"en":"Set a random color","nl":"Verander naar een willekeurige kleur","de":"Eine zufällige Farbe setzen","fr":"Définir une couleur aléatoire","it":"Imposta un colore casuale","sv":"Ställ in en slumpvis färg","no":"Innstill en tilfeldig farge","es":"Configurar un color aleatorio","da":"Indstil en tilfældig farve","ru":"Установить случайный цвет","pl":"Ustaw losową barwę","ko":"무작위 색상 설정"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Light mode","nl":"Lamp modus","de":"Lichtmodus","fr":"Mode lumière","it":"Modalità luce","sv":"Lampläge","no":"Lysmodus","es":"Modo de la luz","da":"Lystilstand","ru":"Режим света","pl":"Tryb oświetlenia","ko":"라이트 모드"},"desc":{"en":"Switch between color or temperature mode","nl":"Schakel tussen kleur of temperatuur modus","de":"Zwischen Farb- und Temperaturmodus wechseln","fr":"Passer entre les modes couleur ou température","it":"Passa tra le modalità colore o temperatura","sv":"Växla mellan färg- och temperatur-läge","no":"Veksle mellom farge- og temperaturmodus","es":"Cambia entre los modos color y temperatura","da":"Skift mellem farve- eller temperaturtilstand","ru":"Переключение между цветовым или температурным режимом","pl":"Przełączaj między trybem barwy lub temperatury","ko":"색상 또는 온도 모드 간에 전환"},"values":[{"id":"color","title":{"en":"Color","nl":"Kleur","de":"Farbe","fr":"Couleur","it":"Colore","sv":"Färg","no":"Farge","es":"Color","da":"Farve","ru":"Цвет","pl":"Barwa","ko":"색상"}},{"id":"temperature","title":{"en":"Temperature","nl":"Temperatuur","de":"Temperatur","fr":"Température","it":"Temperatura","sv":"Temperatur","no":"Temperatur","es":"Temperatura","da":"Temperatur","ru":"Температура","pl":"Temperatura","ko":"온도"}}],"getable":true,"setable":true,"uiComponent":"color"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Color saturation","nl":"Kleurverzadiging","de":"Farbsättigung","fr":"Saturation de couleur","it":"Saturazione colore","sv":"Färggmättnad","no":"Fargemetning","es":"Saturación del color","da":"Farvemætning","ru":"Насыщенность цвета","pl":"Nasycenie barwy","ko":"색상 채도"},"min":0,"chartType":"stepLine","max":1,"decimals":2,"getable":true,"setable":true,"$flow":{"actions":[{"id":"saturation","title":{"en":"Set the saturation","nl":"Verander kleurverzadiging","de":"Die Sättigung setzen","fr":"Définir la saturation","it":"Imposta la saturazione","sv":"Ställ in mättnad","no":"Innstill metningen","es":"Configurar la saturación","da":"Indstil farvemætningen","ru":"Установить насыщенность","pl":"Ustaw nasycenie","ko":"채도 설정"},"args":[{"name":"saturation","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"uiComponent":"color"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Color temperature","nl":"Kleurtemperatuur","de":"Farbtemperatur","fr":"Température de couleur","it":"Temperatura colore","sv":"Färgtemperatur","no":"Fargetemperatur","es":"Temperatura del color","da":"Farvetemperatur","ru":"Температура цвета","pl":"Temperatura barwy","ko":"색온도"},"min":0,"chartType":"stepLine","max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"color","$flow":{"actions":[{"id":"temperature","title":{"en":"Set a temperature","nl":"Verander naar temperatuur","de":"Eine Temperatur setzen","fr":"Définir une température","it":"Imposta una temperatura","sv":"Ställ in en temperatur","no":"Innstill en temperatur","es":"Configurar la temperatura","da":"Indstil en temperatur","ru":"Установить температуру","pl":"Ustaw temperaturę","ko":"온도 설정"},"args":[{"name":"temperature","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}],"hint":{"en":"Adjusts the temperature of the light. A higher value means a warmer color.","nl":"Verander de temperatuur van de lamp. Een hogere waarde betekent een warmere kleur.","de":"Stelle die Temperatur der Farbe ein. Ein höherer Wert bedeutet eine wärmere Farbe.","fr":"Ajuste la température de la lumière. Une valeur plus élévée signifie une couleur plus chaude.","it":"Regola la temperatura della luce. Un valore più alto indica un colore più caldo.","sv":"Justerar temperaturen på ljuset. Ett högre värde innebär en varmare färg.","no":"Justerer lystemperaturen. En høyere verdi gir en varmere farge.","es":"Ajusta la temperatura de la luz. Cuanto más alto es el valor, más cálido es el color.","da":"Justerer lysets temperatur. En højere værdi betyder en varmere farve.","ru":"Регулирует температуру света. Более высокое значение означает более теплый цвет.","pl":"Dostosuj temperaturę oświetlenia. Wyższa wartość oznacza cieplejszą barwę.","ko":"조명의 온도를 조정합니다. 값이 높을수록 따뜻한 색입니다."}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Lock mode","nl":"Vergrendelmodus","de":"Schloss-Modus","fr":"Mode verrou","it":"Modalità serratura","sv":"Låsläge","no":"Låsemodus","es":"Modo de la cerradura","da":"Lås-tilstand","ru":"Режим замка","pl":"Tryb zamknięcia","ko":"록 모드"},"values":[{"id":"always_locked","title":{"en":"Always locked","nl":"Altijd op slot","de":"Immer verriegelt","fr":"Toujours verrouillé","it":"Sempre chiusa","sv":"Alltid låst","no":"Alltid låst","es":"Siempre cerrada","da":"Altid låst","ru":"Всегда закрыт","pl":"Zawsze zablokowane","ko":"항상 잠김"}},{"id":"always_unlocked","title":{"en":"Always unlocked","nl":"Altijd open","de":"Immer entriegelt","fr":"Toujours déverrouillé","it":"Sempre aperta","sv":"Alltid olåst","no":"Alltid ulåst","es":"Siempre abierta","da":"Altid ulåst","ru":"Всегда открыт","pl":"Zawsze odblokowane","ko":"항상 잠금 해제됨"}},{"id":"locked_until_unlock","title":{"en":"Locked until unlocked","nl":"Op slot tot geopend","de":"Verriegelt, bis entriegelt wird","fr":"Verrouillé jusqu\'à déverrouillé","it":"Chiusa finché non viene sbloccata","sv":"Låst tills upplåst","no":"Låst til opplåst","es":"Cerrada hasta que se abra","da":"Låst indtil ulåst","ru":"Закрыт, пока не будет открыт","pl":"Zablokowane aż do odblokowania","ko":"잠금 해제할 떄까지 잠김"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"lock_mode_changed","title":{"en":"Lock mode changed","nl":"Slotmodus is veranderd","de":"Schloss-Modus hat sich geändert","fr":"Le mode de verrouillage a été modifié","it":"La modalità di chiusura è cambiata","sv":"Låsläge har ändrats","no":"Låsemodus endret","es":"El modo de la cerradura ha cambiado","da":"Lås-tilstand er blevet ændret","ru":"Режим замка изменен","pl":"Zmienił się tryb zamknięcia","ko":"록 모드 변경됨"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"lock_mode_is","title":{"en":"Lock mode !{{is|is not}}","nl":"Slotmodus !{{is|is niet}}","de":"Schloss-Modus !{{ist|ist nicht}}","fr":"Mode verrou !{{est|n\'est pas}}","it":"La modalità di blocco !{{è|non è}}","sv":"Låsläge !{{är|är inte}}","no":"Låsemodus !{{er|er ikke}}","es":"El modo de la cerradura !{{está|no está}}","da":"Lås-tilstand !{{er|er ikke}}","ru":"Режим замка !{{|не}}","pl":"Tryb zamknięcia !{{to|to nie}}","ko":"록 모드가 다음!{{임| 아님}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"mode","title":{"en":"Set mode","nl":"Stel modus in","de":"Modus setzen","fr":"Définir le mode","it":"Imposta la modalità","sv":"Ställ in läge","no":"Innstill modus","es":"Configurar modo","da":"Indstil tilstand","ru":"Установить режим","pl":"Ustaw tryb","ko":"모드 설정"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Locked","nl":"Op slot","de":"Verriegelt","fr":"Verrouillé","it":"Chiusa","sv":"Låst","no":"Låst","es":"Cerrada","da":"Låst","ru":"Закрыто","pl":"Zablokowane","ko":"잠김"},"desc":{"en":"True when the lock is locked","nl":"Geeft aan wanneer iets op slot is","de":"True, wenn das Schloss verriegelt ist","fr":"Vrai, si le verrou est verrouillé","it":"Vero quando la serratura è chiusa","sv":"Sant när låset är låst","no":"Sant når låsen er låst","es":"Activado cuando la cerradura está cerrada","da":"Sandt, når låsen er låst","ru":"Значение «истина», когда замок закрыт","pl":"Adekwatne, kiedy zamek jest zablokowany","ko":"록이 잠겨 있으면 참"},"insights":true,"insightsTitleTrue":{"en":"Locked","nl":"Vergrendeld","de":"Verriegelt","fr":"Verrouillé","it":"Chiusa","sv":"Låst","no":"Låst","es":"Cerrada","da":"Låst","ru":"Закрыто","pl":"Zablokowane","ko":"잠김"},"insightsTitleFalse":{"en":"Unlocked","nl":"Ontgrendeld","de":"Entriegelt","fr":"Déverrouillé","it":"Aperta","sv":"Olåst","no":"Ulåst","es":"Abierta","da":"Ulåst","ru":"Открыто","pl":"Odblokowane","ko":"잠금 해제됨"},"getable":true,"setable":true,"uiComponent":"toggle","$flow":{"triggers":[{"id":"locked_true","title":{"en":"Locked","nl":"Vergrendeld","de":"Verriegelt","fr":"Verrouillé","it":"Chiusa","sv":"Låst","no":"Låst","es":"Cerrado","da":"Låst","ru":"Закрыто","pl":"Zablokowane","ko":"잠김"}},{"id":"locked_false","title":{"en":"Unlocked","nl":"Ontgrendeld","de":"Entriegelt","fr":"Déverrouillé","it":"Aperta","sv":"Olåst","no":"Ulåst","es":"Abierto","da":"Låst op","ru":"Открыто","pl":"Odblokowane","ko":"잠금 해제됨"}}],"conditions":[{"id":"locked","title":{"en":"A lock is !{{locked|unlocked}}","nl":"Een slot is !{{vergrendeld|ontgrendeld}}","de":"Ein Schloss ist !{{verriegelt|entriegelt}}","fr":"Un verrou est !{{verrouillé|déverrouillé}}","it":"Una serratura è !{{chiusa|aperta}}","sv":"Ett lås är !{{låst|olåst}}","no":"En lås er !{{låst|ulåst}}","es":"Una cerradura está !{{cerrada|abierta}}","da":"En lås er blevet !{{låst|låst op}}","ru":"Замок !{{закрыт|открыт}}","pl":"Zamek jest !{{zablokowany|odblokowany}}","ko":"록 !{{잠김|잠금 해제됨}}"}}],"actions":[{"id":"lock","highlight":true,"title":{"en":"Lock","nl":"Vergrendel","de":"Verriegeln","fr":"Verrouiller","it":"Chiudi","sv":"Lås","no":"Lås","es":"Cerrar","da":"Lås","ru":"Закрыть","pl":"Zablokuj","ko":"잠금"}},{"id":"unlock","highlight":true,"title":{"en":"Unlock","nl":"Ontgrendel","de":"Entriegeln","fr":"Déverrouiller","it":"Apri","sv":"Lås upp","no":"Lås opp","es":"Abrir","da":"Lås op","ru":"Открыть","pl":"Odblokuj","ko":"잠금 해제"}}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Air Quality Index","nl":"Luchtkwaliteitsindex","da":"Indeks for luftkvalitet","it":"Indice di qualità dell\'aria","ko":"공기질 지수","pl":"Wskaźnik jakości powietrza","ru":"Показатель качества воздуха","sv":"Index för luftkvalitet","es":"Índice de calidad del aire","fr":"Indice de qualité de l\'air","no":"Luftkvalitetsindeks"},"insights":true,"desc":{"en":"Air Quality Index","nl":"Luchtkwaliteitsindex","da":"Indeks for luftkvalitet","it":"Indice di qualità dell\'aria","ko":"공기질 지수","pl":"Wskaźnik jakości powietrza","ru":"Показатель качества воздуха","sv":"Index för luftkvalitet","es":"Índice de calidad del aire","fr":"Indice de qualité de l\'air","no":"Luftkvalitetsindeks"},"chartType":"spline","getable":true,"setable":false,"uiComponent":"sensor","min":0,"max":500,"$flow":{"triggers":[{"id":"measure_aqi_changed","title":{"en":"The air quality index changed","nl":"De luchtkwaliteitsindex is veranderd","da":"Luftkvalitetsindekset ændrede sig","it":"L\'indice di qualità dell\'aria è cambiato","ko":"공기질 지수 변경됨","pl":"Zmienił się wskaźnik jakości powietrza","ru":"Показатель качества воздуха изменился","sv":"Index för luftkvalitet ändrades","es":"El índice de calidad del aire ha cambiado","fr":"L\'indice de qualité de l\'air a changé","no":"Luftkvalitetsindeksen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Battery","nl":"Accuniveau","de":"Batterie","fr":"Batterie","it":"Batteria","sv":"Batteri","no":"Batteri","es":"Batería","da":"Batteri","ru":"Аккумулятор","pl":"Bateria","ko":"배터리"},"units":{"en":"%","ko":"%","no":"%","ru":"%"},"insights":true,"min":0,"max":100,"desc":{"en":"Battery charge in percentage (%)","nl":"Accuniveau in procenten (%)","de":"Batteriestand in Prozent (%)","fr":"Pourcentage de charge de la batterie (%)","it":"Percentuale di carica della batteria (%)","sv":"Batteriladdning i procent (%)","no":"Batterilading i prosent (%)","es":"Carga de la batería en porcentaje (%)","da":"Batteriniveau i procent (%)","ru":"Зарядка аккумулятора в процентах (%)","pl":"Naładowanie baterii w procentach (%)","ko":"배터리 충전량(%)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"battery","$flow":{"triggers":[{"id":"measure_battery_changed","title":{"en":"The battery level changed","nl":"Het accuniveau is veranderd","de":"Der Batteriestand hat sich geändert","fr":"Le niveau de la batterie a changé","it":"Il livello della batteria è cambiato","sv":"Batterinivån ändrades","no":"Batterinivået ble endret","es":"El nivel de la batería ha cambiado","da":"Batteriniveauet har ændret sig","ru":"Уровень аккумулятора изменен","pl":"Zmienił się poziom baterii","ko":"배터리 수준 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":99}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Carbon Filter","nl":"Koolstoffilter","da":"Kulfilter","it":"Filtro a carbone","ko":"카본 필터","pl":"Filtr węglowy","ru":"Угольный фильтр","sv":"Kolfilter","es":"Filtro de carbono","fr":"Filtre à charbon","no":"Karbonfilter"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The carbon filter level in percent.","nl":"Het koolstoffilterniveau in procenten.","da":"Kulfilterniveauet i procent.","it":"Il livello del filtro al carbone in percentuale.","ko":"백분율로 표현한 카본 필터 수준입니다.","pl":"Poziom filtra węglowego w procentach.","ru":"Уровень угольного фильтра в процентах.","sv":"Kolfilternivån i procent.","es":"El nivel del filtro de carbono en porcentaje.","fr":"Le niveau du filtre à charbon en pourcentage.","no":"Karbonfilternivået i prosent."},"min":0,"max":100,"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_carbon_filter_changed","highlight":true,"title":{"en":"The carbon filter level changed","nl":"Het koolstoffilterniveau is veranderd","da":"Kulfilterniveauet ændrede sig","it":"Il livello del filtro a carbone è cambiato","ko":"카본 필터 수준 변경됨","pl":"Zmienił się poziom filtra węglowego","ru":"Уровень угольного фильтра изменился на","sv":"Kolfilternivån ändrades","es":"El nivel del filtro de carbono ha cambiado","fr":"Le niveau du filtre à charbon est passé à","no":"Karbonfilternivået ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Formaldehyde","nl":"Formaldehyde","da":"Formaldehyd","it":"Formaldeide","ko":"포름알데히드","pl":"Formaldehyd","ru":"Формальдегид","sv":"Formaldehyd","es":"Formaldehído","fr":"Formaldéhyde","no":"Formaldehyd"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Formaldehyde in micrograms per cubic meter (μg/m³)","nl":"Formaldehyde in microgram per kubieke meter (μg/m³)","da":"Formaldehyd i mikrogram pr. kubikmeter (μg/m³)","it":"Formaldeide in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 포름알데히드","pl":"Formaldehyd w mikrogramach na metr sześcienny (μg/m³)","ru":"Формальдегид в микрограммах на кубический метр (мкг/м³)","sv":"Formaldehyd i mikrogram per kubikmeter (μg/m³)","es":"Formaldehído en microgramos por metro cúbico (μg/m³)","fr":"Formaldéhyde en microgrammes par mètre cube (μg/m³)","no":"Formaldehyd i mikrogram per kubikkmeter (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_ch2o_changed","title":{"en":"The formaldehyde level changed","nl":"Het formaldehydeniveau is veranderd","da":"Formaldehydniveauet ændrede sig","it":"Il livello di formaldeide è cambiato","ko":"포름알데히드 수준 변경됨","pl":"Zmienił się poziom formaldehydu","ru":"Уровень формальдегида изменился","sv":"Formaldehydnivån ändrades","es":"El nivel de formaldehído ha cambiado","fr":"Le niveau de formaldéhyde a changé","no":"Formaldehydnivået ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"CO","nl":"CO","de":"CO","fr":"CO","it":"CO","sv":"CO","no":"CO","da":"CO","ru":"CO","pl":"CO","ko":"CO"},"units":{"en":"ppm","ru":"ч./млн.","ko":"ppm","no":"ppm","pl":"ppm"},"insights":true,"desc":{"en":"CO in Parts-per-million (ppm)","nl":"CO deeltjes per miljoen (ppm)","de":"CO in Anteile pro Million (ppm)","fr":"Niveau de CO en parts par million (ppm)","it":"Livello di CO in parti per milione (ppm)","sv":"CO i partiklar-per-miljon (ppm)","no":"CO i partikler per million (ppm)","es":"CO en partes por millón (ppm)","da":"CO i partikler-per-million (ppm)","ru":"CO в частицах на миллион (ч./млн.)","pl":"Stężenie tlenku węgla w części na milion (ppm)","ko":"CO 백만분의일 농도(ppm)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_co_changed","title":{"en":"The CO-level changed","nl":"Het CO-niveau is veranderd","de":"Der CO-Gehalt hat sich geändert","fr":"Le niveau de CO a changé","it":"Il livello di CO è cambiato","sv":"CO-nivån ändrades","no":"CO-nivået ble endret","es":"El nivel de CO ha cambiado","da":"CO-niveauet har ændret sig","ru":"CO-уровень изменен","pl":"Zmienił się poziom CO","ko":"CO 수준 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"CO2","nl":"CO2","de":"CO2","fr":"CO2","it":"CO2","sv":"CO2","no":"CO2","da":"CO2","ru":"CO2","pl":"CO2","ko":"CO2"},"units":{"en":"ppm","ru":"ч./млн.","ko":"ppm","no":"ppm","pl":"ppm"},"insights":true,"desc":{"en":"CO2 in Parts-per-million (ppm)","nl":"CO2 deeltjes per miljoen (ppm)","de":"CO2 in Anteile pro Million (ppm)","fr":"Niveau de CO2 en parts par million (ppm)","it":"Livello di CO2 in parti per milione (ppm)","sv":"CO2 i partiklar-per-miljon (ppm)","no":"CO2 i partikler per million (ppm)","es":"CO2 en partes por millón (ppm)","da":"CO2 i partikler-per-million (ppm)","ru":"CO2 в частицах на миллион (ч./млн.)","pl":"Stężenie dwutlenku węgla w części na milion (ppm)","ko":"CO2 백만분의일 농도(ppm)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_co2_changed","title":{"en":"The CO2-level changed","nl":"Het CO2-niveau is veranderd","de":"Der CO2-Gehalt hat sich geändert","fr":"Le niveau de CO2 a changé","it":"Il livello di CO2 è cambiato","sv":"CO2-nivån ändrades","no":"CO2-nivet ble endret","es":"El nivel de CO2 ha cambiado","da":"CO2-niveauet har ændret sig","ru":"CO2-уровень изменен","pl":"Zmienił się poziom CO2","ko":"CO2 수준 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Volume","nl":"Volume","da":"Volumen","it":"Volume","ko":"부피","pl":"Objętość","ru":"Объем","sv":"Volym","es":"Volumen","fr":"Volume","no":"Volum"},"units":{"en":"L","nl":"L","da":"L","it":"L","ko":"L","pl":"l","ru":"Л","sv":"L","es":"L","fr":"L","no":"L"},"desc":{"en":"The volume of the content in liters.","nl":"Het volume van de inhoud in liters.","da":"Indholdets volumen i liter.","it":"Il volume del contenuto in litri.","ko":"리터 단위의 내용물 부피입니다.","pl":"Objętość zawartości w litrach.","ru":"Объем содержимого в литрах.","sv":"Innehållets volym i liter.","es":"El volumen del contenido en litros.","fr":"Le volume du contenu en litres.","no":"Volumet av innholdet i liter."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_content_volume_changed","title":{"en":"The volume changed","nl":"Het volume is veranderd","da":"Lydstyrken ændrede sig","it":"Il volume è cambiato","ko":"부피 변경됨","pl":"Zmieniła się objętość","ru":"Объем изменился","sv":"Volymen ändrades","es":"El volumen ha cambiado","fr":"Le volume a changé\\n","no":"Volumet ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Current","nl":"Stroom","de":"Strom","fr":"Courant","it":"Corrente","sv":"Ström","no":"Strøm","es":"Corriente","da":"Strøm","ru":"Текущее значение","pl":"Prąd","ko":"현재"},"units":{"en":"A","ko":"A","no":"A","ru":"A"},"insights":true,"desc":{"en":"Electric current (A)","nl":"Elektrische stroom (A)","de":"Elektrischer Strom (A)","fr":"Courant électrique (A)","it":"Corrente elettrica (A)","sv":"Elektrisk ström (A)","no":"Elektrisk strøm (A)","es":"Corriente eléctrica (A)","da":"Elektrisk strøm (A)","ru":"Электрический ток (А)","pl":"Prąd elektryczny (A)","ko":"전류(A)"},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_current_changed","title":{"en":"The electric current changed","nl":"De elektrische stroom is veranderd","de":"Der elektrische Strom hat sich geändert","fr":"Le courant électrique a changé","it":"La corrente elettrica è cambiata","sv":"Den elektriska strömmen ändrades","no":"Den elektriska strømmen ble endret","es":"La corriente eléctrica ha cambiado","da":"Den elektriske strøm ændrede sig","ru":"Электрический ток изменился","pl":"Zmiana prądu elektrycznego","ko":"전류 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":7.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Data Rate","nl":"Gegevenssnelheid","da":"Datahastighed","it":"Velocità di trasmissione dei dati","ko":"데이터 전송률","pl":"Szybkość transmisji danych","ru":"Скорость передачи данных","sv":"Datahastighet","es":"Velocidad de datos","fr":"Débits de données","no":"Bitrate"},"units":{"en":"b/s","nl":"b/s","da":"b/s","it":"b/s","ko":"bps","pl":"b/s","ru":"бит/с","sv":"b/s","es":"b/s","fr":"b/s","no":"b/s"},"desc":{"en":"The data rate in bits per second.","nl":"De gegevenssnelheid in bits per seconde.","da":"Datahastigheden i bits pr. sekund.","it":"La velocità di trasmissione dei dati in bit al secondo.","ko":"초당 비트 단위의 데이터 전송률입니다.","pl":"Szybkość transmisji danych w bitach na sekundę.","ru":"Скорость передачи данных в битах в секунду.","sv":"Datahastigheten i bitar per sekund.","es":"La velocidad de transmisión de datos en bits por segundo.","fr":"Le débit de données en bits par seconde.","no":"Bitrate i bits per sekund."},"insights":true,"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_data_rate_changed","title":{"en":"The data rate changed","nl":"De gegevenssnelheid is veranderd","da":"Datahastigheden ændrede sig","it":"La velocità di trasmissione dei dati è cambiata","ko":"데이터 전송률 변경됨","pl":"Zmieniła się szybkość transmisji danych","ru":"Скорость передачи данных изменилась","sv":"Datahastigheten ändrades","es":"La velocidad de datos ha cambiado","fr":"Le débit de données a changé","no":"Bitraten ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Data Size","nl":"Gegevensgrootte","da":"Datastørrelse","it":"Dimensione dei dati","ko":"데이터 크기","pl":"Rozmiar danych","ru":"Размер данных","sv":"Datastorlek","es":"Tamaño de los datos","fr":"Taille des données","no":"Datastørrelse"},"units":{"en":"bytes","nl":"bytes","da":"bytes","it":"byte","ko":"바이트","pl":"bajty","ru":"байты","sv":"byte","es":"bytes","fr":"octets","no":"byte"},"desc":{"en":"The data size in bytes.","nl":"De gegevensgrootte in bytes.","da":"Datastørrelsen i bytes.","it":"La dimensione dei dati in byte.","ko":"바이트 단위의 데이터 크기입니다.","pl":"Rozmiar danych w bajtach.","ru":"Размер данных в байтах.","sv":"Datastorlek i byte.","es":"El tamaño de los datos en bytes.","fr":"La taille des données en octets.","no":"Datastørrelsen i byte."},"insights":true,"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_data_size_changed","title":{"en":"The data size changed","nl":"De gegevensgrootte is veranderd","da":"Datastørrelsen er ændret","it":"La dimensione dei dati è cambiata","ko":"데이터 크기 변경됨","pl":"Zmienił się rozmiar danych","ru":"Размер данных изменился","sv":"Datastorleken ändrades","es":"El tamaño de los datos ha cambiado","fr":"La taille des données a changé","no":"Datastørrelsen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Distance","nl":"Afstand","da":"Afstand","it":"Distanza","ko":"거리","no":"Avstand","pl":"Odległość","ru":"Расстояние","sv":"Avstånd","es":"Distancia","fr":"\\n"},"units":{"en":"m","nl":"m","da":"m","it":"m","ko":"m","no":"m","pl":"m","ru":"м","sv":"m","es":"m","fr":"m"},"desc":{"en":"The distance in meters.","nl":"De afstand in meters.","da":"Afstanden i meter.","it":"La distanza in metri.","ko":"미터 단위의 거리입니다.","no":"Avstanden i meter.","pl":"Odległość w metrach.","ru":"Расстояние в метрах.","sv":"Avståndet i meter.","es":"La distancia en metros.","fr":"La distance en mètres."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_distance_changed","title":{"en":"The distance changed","nl":"De afstand is veranderd","da":"Afstanden ændrede sig","it":"La distanza è cambiata","ko":"거리 변경됨","no":"Avstanden ble endret","pl":"Zmieniła się odległość","ru":"Расстояние изменилось","sv":"Avståndet ändrades","es":"La distancia ha cambiado","fr":"La distance a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Frequency","nl":"Frequentie","da":"Frekvens","it":"Frequenza","ko":"주사율","no":"Frekvens","pl":"Częstotliwość","ru":"Частота","sv":"Frekvens","es":"Frecuencia","fr":"Fréquence"},"units":{"en":"Hz","nl":"Hz","da":"Hz","it":"Hz","ko":"Hz","no":"Hz","pl":"Hz","ru":"Гц","sv":"Hz","es":"Hz","fr":"Hz"},"desc":{"en":"The frequency in hertz.","nl":"De frequentie in hertz.","da":"Frekvensen i hertz.","it":"La frequenza in hertz.","ko":"헤르츠 단위의 주사율입니다.","no":"Frekvensen i hertz.","pl":"Częstotliwość w hercach.","ru":"Частота в герцах.","sv":"Frekvensen i hertz.","es":"La frecuencia en hercios.","fr":"La fréquence en hertz."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_frequency_changed","title":{"en":"The frequency changed","nl":"De frequentie is veranderd","da":"Frekvensen ændrede sig","it":"La frequenza è cambiata","ko":"주사율 변경됨","no":"Frekvensen ble endret","pl":"Zmieniła się częstotliwość","ru":"Частота изменилась","sv":"Frekvensen ändrades","es":"La frecuencia ha cambiado","fr":"La fréquence a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Gust angle","nl":"Windstootrichting","de":"Böenrichtung","fr":"Direction d\'un coup de vent","it":"Angolo delle raffiche","sv":"Vindriktning","no":"Vindretning","es":"Dirección del aire","da":"Vindretning","ru":"Угол порывов ветра","pl":"Kąt porywu wiatru","ko":"돌풍 각도"},"units":{"en":"°","ko":"°","no":"°","ru":"°"},"insights":true,"desc":{"en":"Gust angle in degrees (°)","nl":"Windstoot richting in graden (°)","de":"Böenrichtung in Grad (°)","fr":"Direction du coup de vent en degrés (°)","it":"Angolo delle raffiche in gradi (°)","sv":"Vindriktning i grader (°)","no":"Vindretning i grader (°)","es":"Dirección del aire en grados (°)","da":"Vindretning i grader (°)","ru":"Угол порывов ветра в градусах (°)","pl":"Kąt porywu wiatru w stopniach (°)","ko":"돌풍 각도(°)"},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_gust_angle_changed","title":{"en":"The gust angle changed","nl":"Windstootrichting is veranderd","de":"Die Böenrichtung hat sich geändert","fr":"Direction du coup de vent a changé","it":"L\'angolo delle raffiche è cambiato","sv":"Vindriktningen har ändrats","no":"Vindretningen er endret","es":"La dirección del aire ha cambiado","da":"Vindretningen skiftede","ru":"Угол порывов ветра изменился","pl":"Zmiana kąta porywu wiatru","ko":"돌풍 각도 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":36}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Gust strength","nl":"Windstootkracht","de":"Böenstärke","fr":"Force d\'un coup de vent","it":"Intensità delle raffiche","sv":"Byvind","no":"Vindkast","es":"Fuerza del aire","da":"Vindstyrke","ru":"Сила порывов ветра","pl":"Siła porywu wiatru","ko":"돌풍 세기"},"units":{"en":"km/h","ru":"км/ч","ko":"km/h","no":"km/t"},"insights":true,"desc":{"en":"Gust strength in kilometer per hour (km/h)","nl":"Windstoot snelheid in kilometer per uur (km/u)","de":"Böenstärke in Kilometer pro Stunde (km/h)","fr":"Force du coup de vent en kilomètres par heure (km/h)","it":"Intensità delle raffiche in chilometri orari (km/h)","sv":"Byvind i kilometer per timme (km/h)","no":"Vindkaststyrke i kilometer per time (km/t)","es":"Fuerza del aire en kilómetros por hora (km/h)","da":"Vindstyrke i kilometer i timen (km/t)","ru":"Сила порывов ветра в км в час (км/ч)","pl":"Siła porywu wiatru w kilometrach na godzinę (km/h)","ko":"돌풍 세기 시간당 킬로미터(km/h)"},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_gust_strength_changed","title":{"en":"The gust strength changed","nl":"De windstootkracht is veranderd","de":"Die Böenstärke hat sich geändert","fr":"La force du coup de vent a changé","it":"L\'intensità delle raffiche è cambiata","sv":"Byvinden ändrades","no":"Vindstyrken ble endret","es":"La fuerza del aire ha cambiado","da":"Vindstyrken skiftede","ru":"Сила порывов ветра изменилась","pl":"Zmiana siły porywu wiatru","ko":"돌풍 세기 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":15}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"HEPA Filter","nl":"HEPA-filter","da":"HEPA-filter","it":"Filtro HEPA","ko":"HEPA 필터","no":"HEPA-filter","pl":"Filtr HEPA","ru":"HEPA-фильтр","sv":"HEPA-filter","es":"Filtro HEPA","fr":"Filtre HEPA"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","no":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %"},"desc":{"en":"The HEPA filter level in percent.","nl":"Het HEPA-filterniveau in procenten.","da":"HEPA-filterets niveau i procent.","it":"Il livello del filtro HEPA in percentuale.","ko":"백분율로 표현한 HEPA 필터 수준입니다.","no":"HEPA-filternivået i prosent.","pl":"Poziom filtra HEPA w procentach.","ru":"Уровень HEPA-фильтра в процентах.","sv":"HEPA-filtrets nivå i procent.","es":"El nivel del filtro HEPA en porcentaje.","fr":"Le niveau du filtre HEPA en pourcentage."},"min":0,"max":100,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_hepa_filter_changed","highlight":true,"title":{"en":"The HEPA filter level changed","nl":"Het HEPA-filterniveau is veranderd","da":"HEPA-filterets niveau ændrede sig","it":"Il livello del filtro HEPA è cambiato","ko":"HEPA 필터 수준 변경됨","no":"HEPA-filternivået ble endret","pl":"Zmienił się poziom filtra HEPA","ru":"Уровень HEPA-фильтра изменился","sv":"HEPA-filternivån ändrades","es":"El nivel del filtro HEPA ha cambiado","fr":"Le niveau du filtre HEPA est passé à"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Humidity","nl":"Luchtvochtigheid","de":"Luftfeuchtigkeit","fr":"Humidité","it":"Umidità","sv":"Luftfuktighet","no":"Luftfuktighet","es":"Humedad","da":"Luftfugtighed","ru":"Влажность","pl":"Wilgotność","ko":"습도"},"units":{"en":"%","ko":"%","no":"%","ru":"%"},"insights":true,"desc":{"en":"Humidity in percent (%)","nl":"Relatieve luchtvochtigheid (%)","de":"Luftfeuchtigkeit in Prozent (%)","fr":"Humidité en pourcentage (%)","it":"Umidità in percentuale (%)","sv":"Luftfuktighet i procent (%)","no":"Luftfuktighet i prosent (%)","es":"Humedad en porcentaje (%)","da":"Luftfugtighed i procent (%)","ru":"Влажность в процентах (%)","pl":"Wilgotność w procentach (%)","ko":"습도(%)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_humidity_changed","title":{"en":"The humidity changed","nl":"De luchtvochtigheid is veranderd","de":"Die Luftfeuchtigkeit hat sich geändert","fr":"L\'humidité a changé","it":"L\'umidità è cambiata","sv":"Luftfuktigheten ändrades","no":"Luftfuktigheten ble endret","es":"La humedad ha cambiado","da":"Luftfugtigheden ændrede sig","ru":"Влажность изменилась","pl":"Zmiana wilgotności","ko":"습도 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":35}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Luminance","nl":"Helderheid","de":"Helligkeit","fr":"Luminance","it":"Luminanza","sv":"Luminans","no":"Luminans","es":"Luminancia","da":"Luminans","ru":"Яркость","pl":"Luminacja","ko":"휘도"},"units":{"en":"lx","ru":"лк","ko":"lx","no":"lx"},"insights":true,"desc":{"en":"Luminance in Lux (lx)","nl":"Helderheid in Lux (lx)","de":"Leuchtkraft in Lux (lx)","fr":"Luminance en Lux (lx)","it":"Luminanza in Lux (lx)","sv":"Luminans i Lux (lx)","no":"Luminans i Lux (lx)","es":"Luminancia en Lux (lx)","da":"Luminans i Lux (lx)","ru":"Яркость в люксах (лк)","pl":"Luminacja w luksach (lx)","ko":"휘도 럭스(lx)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_luminance_changed","highlight":true,"title":{"en":"The luminance changed","nl":"De helderheid is veranderd","de":"Die Helligkeit hat sich geändert","fr":"La luminance a changé","it":"La luminanza è cambiata","sv":"Luminansen ändrades","no":"Luminansen ble endret","es":"La luminancia ha cambiado","da":"Luminansen ændrede sig","ru":"Яркость изменилась","pl":"Zmiana luminacji","ko":"휘도 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":100}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Moisture","nl":"Vochtigheid","da":"Fugt","it":"Umidità","ko":"습기","no":"Fukt","pl":"Wilgoć","ru":"Влажность","sv":"Fukt","es":"Humedad","fr":"Humidité"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","no":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %"},"desc":{"en":"The moisture level in percentage.","nl":"Het vochtigheidsniveau in procenten.","da":"Fugtniveauet i procent.","it":"Il livello di umidità in percentuale.","ko":"백분율로 표현한 습기 수준입니다.","no":"Fuktnivået i prosent.","pl":"Poziom wilgoci w procentach.","ru":"Уровень влажности в процентах.","sv":"Fuktnivån i procent.","es":"El nivel de humedad en porcentaje.","fr":"Le niveau d\'humidité en pourcentage."},"insights":true,"chartType":"spline","decimals":2,"min":0,"max":100,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_moisture_changed","title":{"en":"The moisture level changed","nl":"Het vochtigheidsniveau is veranderd","da":"Fugtniveauet ændrede sig","it":"Il livello di umidità è cambiato","ko":"습기 수준 변경됨","no":"Fuktnivået ble endret","pl":"Zmienił się poziom wilgoci","ru":"Уровень влажности изменился","sv":"Fuktnivån ändrades","es":"El nivel de humedad ha cambiado","fr":"Le niveau d\'humidité a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Monetary value","nl":"Monetaire waarde","da":"Monetær værdi","it":"Valore monetario","ko":"금전적 가치","no":"Pengeverdi","pl":"Wartość pieniężna","ru":"Денежная стоимость","sv":"Monetärt värde","es":"Valor monetario","fr":"Valeur monétaire"},"units":{"en":"€","nl":"€","da":"€","it":"€","ko":"€","no":"€","pl":"€","ru":"€","sv":"€","es":"€","fr":" €"},"desc":{"en":"The monetary value with a currency (default: €).","nl":"De monetaire waarde met een valuta (standaard: €).","da":"Den monetære værdi med en valuta (standard: €).","it":"Il valore monetario in una valuta (predefinita: €).","ko":"통화로 환산한 금전적 가치입니다(기본값: €).","no":"Pengeverdien med en valuta (standard: EUR).","pl":"Wartość pieniężna z walutą (domyślnie: €).","ru":"Денежная стоимость с указанием валюты (по умолчанию: евро).","sv":"Det monetära värdet med en valuta (standard: €).","es":"El valor monetario en una divisa (por omisión, €).","fr":"La valeur monétaire avec une devise (par défaut : €)."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_monetary_changed","title":{"en":"The monetary value changed","nl":"De monetaire waarde is veranderd","da":"Den monetære værdi ændrede sig","it":"Il valore monetario è cambiato","ko":"금전적 가치 변경됨","no":"Pengeverdien ble endret","pl":"Zmieniła się wartość pieniężna","ru":"Денежная стоимость изменилась","sv":"Det monetära värdet ändrades","es":"El valor monetario ha cambiado","fr":"La valeur monétaire a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Noise","nl":"Geluid","de":"Lärm","fr":"Bruit","it":"Rumore","sv":"Buller","no":"Støy","es":"Ruido","ru":"Шум","pl":"Hałas","ko":"소음"},"units":{"en":"dB","ru":"дБ","ko":"dB","no":"dB"},"insights":true,"desc":{"en":"Noise in decibel (dB)","nl":"Geluid in decibel (dB)","de":"Lärm in Dezibel (dB)","fr":"Bruit en decibel (dB)","it":"Rumore in decibel (dB)","sv":"Buller i decibel (dB)","no":"Støy i decibel (dB)","es":"Ruido en decibelios (dB)","da":"Støj i decibel (dB)","ru":"Шум в децибелах (дБ)","pl":"Poziom hałasu w decybelach (dB)","ko":"소음 데시벨(dB)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_noise_changed","title":{"en":"The noise changed","nl":"Het geluidsniveau is veranderd","de":"Der Lärm hat sich geändert","fr":"Le bruit a changé","it":"Il rumore è cambiato","sv":"Bullret ändrades","no":"Støyen ble endret","es":"El ruido ha cambiado","da":"Støjniveauet ændrede sig","ru":"Шум изменился","pl":"Zmiana poziomu hałasu","ko":"소음 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":43}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"NOx","nl":"NOx","da":"NOx","it":"NOx","ko":"NOx","no":"NOx","pl":"NOx","ru":"NOx","sv":"NOx","es":"NOx","fr":"NOx"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","no":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Nitrogen Oxides in micrograms per cubic meter (μg/m³)","nl":"Stikstofoxiden in microgram per kubieke meter (μg/m³)","da":"Kvælstofoxider i mikrogram pr. kubikmeter (μg/m³)","it":"Ossidi di azoto in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 질소 산화물","no":"Nitrogenoksider i mikrogram per kubikkmeter (μg/m³)","pl":"Tlenki azotu w mikrogramach na metr sześcienny (μg/m³)","ru":"Оксиды азота в микрограммах на кубический метр (мкг/м³)","sv":"Kväveoxider i mikrogram per kubikmeter (μg/m³)","es":"Óxidos de nitrógeno en microgramos por metro cúbico (μg/m³)","fr":"Oxydes d\'azote en microgrammes par mètre cube (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_nox_changed","title":{"en":"The NOx level changed","nl":"Het NOx-niveau is veranderd","da":"NOx-værdien ændrede sig","it":"Il livello di NOx è cambiato","ko":"NOx 수준 변경됨","no":"NOx-verdien ble endret","pl":"Zmienił się poziom NOx","ru":"Значение NOx изменилось","sv":"NOx-värdet ändrades","es":"El nivel de NOx ha cambiado","fr":"La valeur de NOx a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Ozone","nl":"Ozon","da":"Ozon","it":"Ozono","ko":"오존","no":"Ozon","pl":"Ozon","ru":"Озон","sv":"Ozon","es":"Ozono","fr":"Ozone"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","no":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Ozone in micrograms per cubic meter (μg/m³)","nl":"Ozon in microgram per kubieke meter (μg/m³)","da":"Ozon i mikrogram pr. kubikmeter (μg/m³)","it":"Ozono in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 오존","no":"Ozon i mikrogram per kubikkmeter (μg/m³)","pl":"Ozon w mikrogramach na metr sześcienny (μg/m³)","ru":"Озон в микрограммах на кубический метр (мкг/м³)","sv":"Ozon i mikrogram per kubikmeter (μg/m³)","es":"Ozono en microgramos por metro cúbico (μg/m³)","fr":"Ozone en microgrammes par mètre cube (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_o3_changed","title":{"en":"The ozone level changed","nl":"Het ozonniveau is veranderd","da":"Ozonværdien ændrede sig","it":"Il livello di ozono è cambiato","ko":"오존 수준 변경됨","no":"Ozonnivået ble endret","pl":"Zmienił się poziom ozonu","ru":"Значение озона изменилось","sv":"Ozonvärdet ändrades","es":"El nivel de ozono ha cambiado","fr":"La valeur de l\'ozone a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Odor","nl":"Geur","da":"Lugt","it":"Odore","ko":"냄새","no":"Lukt","pl":"Zapach","ru":"Запах","sv":"Lukt","es":"Olor","fr":"Odeur"},"units":{"en":"OU","nl":"GE","da":"OU","it":"OU","ko":"OU","no":"OU","pl":"ou","ru":"Единицы интенсивности запаха","sv":"OU","es":"OU","fr":"UO"},"desc":{"en":"Odor concentration in odor units.","nl":"Geurconcentratie in geureenheden.","da":"Lugtkoncentration i lugtenheder.","it":"Concentrazione di odori in unità di odore.","ko":"OU(Odor Unit) 단위의 냄새 농도입니다.","no":"Luktkonsentrasjon i luktenheter.","pl":"Stężenie zapachowe w jednostkach zapachowych.","ru":"Концентрация запаха в единицах интенсивности запаха.","sv":"Luktkoncentration i luktenheter.","es":"Concentración de olor en unidades olfativas.","fr":"Concentration d\'odeur en unités d\'odeur."},"insights":true,"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_odor_changed","title":{"en":"The odor concentration changed","nl":"De geurconcentratie is veranderd","da":"Lugtkoncentrationen ændrede sig","it":"La concentrazione di odori è cambiata","ko":"냄새 농도 변경됨","pl":"Zmieniło się stężenie zapachowe","ru":"Концентрация запаха изменилась","sv":"Luktkoncentrationen förändrades","es":"La concentración de olor ha cambiado","fr":"La concentration d\'odeurs a changé","no":"Luktkonsentrasjonen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"pH level","nl":"pH-waarde","da":"pH-niveau","it":"Livello di pH","ko":"pH 수준","no":"pH-nivå","pl":"Poziom pH","ru":"Уровень pH","sv":"pH-nivå","es":"nivel de PH","fr":"Niveau de pH"},"desc":{"en":"The pH level of a aqueous solution.","nl":"De pH-waarde van een waterige oplossing.","da":"PH-niveauet i en vandig opløsning.","it":"Il livello di pH di una soluzione acquosa.","ko":"수용액의 pH 수준입니다.","pl":"Poziom pH roztworu wodnego.","ru":"Уровень pH водного раствора.","sv":"pH-värdet i en vattenlösning.","es":"El nivel de pH de una solución acuosa.","fr":"Le pH d\'une solution aqueuse.","no":"pH-nivå for en vandig løsning."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_ph_changed","title":{"en":"The pH level changed","nl":"De pH-waarde is veranderd","da":"PH-niveauet ændrede sig","it":"Il livello di pH è cambiato","ko":"pH 수준 변경됨","pl":"Zmienił się poziom pH","ru":"Уровень pH изменился","sv":"pH-nivån förändrades","es":"El nivel de pH ha cambiado","fr":"Le niveau de pH a changé","no":"pH-nivået ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM0.1","nl":"PM0.1","de":"PM0.1","fr":"PM0.1\\n","it":"PM0.1","sv":"PM0.1","no":"PM0.1","es":"PM0,1","ru":"ТЧ0.1","pl":"PM0.1","ko":"PM0.1","da":"PM0.1"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³","da":"μg/m³","it":"μg/m³","nl":"μg/m³","pl":"μg/m³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Zwevende deeltjes (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)\\n","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Svevestøv (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Твердые частицы в воздухе (мкг/м³)","pl":"Pył zawieszony w powietrzu (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm01_changed","title":{"en":"The PM0.1 value has changed","nl":"De PM0.1-waarde is veranderd","de":"Der PM0.1-Wert hat sich geändert","fr":"La valeur PM0.1 a changé","it":"Il valore di PM0.1 è cambiato","sv":"PM0.1-värdet har ändrats","no":"PM0.1-verdien har blitt endret","es":"El valor de PM0,1 ha cambiado","da":"PM0.1-værdien har ændret sig","ru":"Значение ТЧ0.1 изменилось","pl":"Zmieniła się wartość PM0.1","ko":"PM0.1 값 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM1","nl":"PM1","de":"PM1","fr":"PM1","it":"PM1","sv":"PM1","no":"PM1","es":"PM1","ru":"ТЧ1","pl":"PM1","ko":"PM1","da":"PM1"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³","da":"μg/m³","it":"μg/m³","nl":"μg/m³","pl":"μg/m³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Zwevende deeltjes (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)\\n","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Svevestøv (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Твердые частицы в воздухе (мкг/м³)","pl":"Pył zawieszony w powietrzu (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm1_changed","title":{"en":"The PM1 value has changed","nl":"De PM1-waarde is veranderd","de":"Der PM1-Wert hat sich geändert","fr":"La valeur PM1 a changé","it":"Il valore di PM1 è cambiato","sv":"PM1-värdet har ändrats","no":"PM1-verdien er endret","es":"El valor de PM1 ha cambiado","da":"PM1-værdien har ændret sig","ru":"Значение ТЧ1 изменилось","pl":"Zmieniła się wartość PM1","ko":"PM1 값 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM10","nl":"PM10","de":"PM10","fr":"PM10","it":"PM10","sv":"PM10","no":"PM10","es":"PM10","ru":"ТЧ10","pl":"PM10","ko":"PM10","da":"PM10"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³","da":"μg/m³","it":"μg/m³","nl":"μg/m³","pl":"μg/m³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Zwevende deeltjes (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Svevestøv (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Твердые частицы в воздухе (мкг/м³)","pl":"Pył zawieszony w powietrzu (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm10_changed","title":{"en":"The PM10 value has changed","nl":"De PM10-waarde is veranderd","de":"Der PM10-Wert hat sich geändert","fr":"La valeur PM10 a changé","it":"Il valore di PM10 è cambiato","sv":"PM10-värdet har ändrats","no":"PM10-verdien er endret","es":"El valor de PM10 ha cambiado","da":"PM10-værdien har ændret sig","ru":"Значение ТЧ10 изменилось","pl":"Zmieniła się wartość PM10","ko":"PM10 값 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM2.5","nl":"PM2,5","de":"PM2.5","fr":"PM2.5","it":"PM2.5","sv":"PM2.5","no":"PM2.5","es":"PM2,5","ru":"ТЧ 2.5","pl":"PM2.5","ko":"PM2.5"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Deeltjesvormige luchtverontreiniging (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Atmosfæriske partikler (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Атмосферные твердые частицы (мкг/м³)","pl":"Pył zawieszony (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm25_changed","title":{"en":"The PM2.5 value changed","nl":"De PM2,5-waarde is veranderd","de":"Der PM2.5-Wert hat sich geändert","fr":"La valeur PM2.5 a changé","it":"Il valore di PM2.5 è cambiato","sv":"PM2.5-värdet har ändrats","no":"PM2.5-verdien ble endret","es":"El valor de PM2,5 ha cambiado","da":"PM2.5-værdien har ændret sig","ru":"Значение ТЧ 2.5 изменилось","pl":"Zmieniła się wartość PM2.5","ko":"PM2.5 값 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Power","nl":"Vermogen","de":"Leistung","fr":"Puissance","it":"Potenza","sv":"Effekt","no":"Effekt","es":"Potencia","da":"Effekt","ru":"Электроэнергия","pl":"Moc","ko":"전력"},"units":{"en":"W","ru":"Вт","ko":"W"},"insights":true,"desc":{"en":"Power in watt (W)","nl":"Vermogen in watt (W)","de":"Leistung in Watt (W)","fr":"Puissance en watt (W)","it":"Potenza in watt (W)","sv":"Effekt i watt (W)","no":"Effekt i watt (W)","es":"Potencia en vatios (W)","da":"Effekt i watt (W)","ru":"Электроэнергия (Вт)","pl":"Moc w watach (W)","ko":"전력 와트(W)"},"options":{"isApproximated":{"type":"boolean","default":false,"desc":{"en":"This flag is used to determine that the device itself has no power measurement functionality, but that the driver calculates the energy use.","ru":"Этот флаг используется для определения того, что само устройство не имеет функции измерения электроэнергии, но драйвер рассчитывает потребление энергии.","pl":"Flaga oznacza, że samo urządzenie nie ma funkcji pomiaru mocy, ale sterownik oblicza zużycie energii.","ko":"이 플래그는 디바이스 자체에 전력 측정 기능이 없지만 드라이버가 에너지 사용량을 계산하는 경우에 사용됩니다.","no":"Dette flagget brukes til å anmerke at enheten i seg selv ikke har noen funksjon for effektmåling, men at sjåføren beregner energibruken.","es":"Este aviso indica que el dispositivo no dispone de ninguna funcionalidad para medir la energía, sino que el controlador calcula el uso de energía."}}},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_power_changed","highlight":true,"title":{"en":"The power changed","nl":"Het vermogen is veranderd","de":"Der Verbrauch hat sich geändert","fr":"L\'énergie a changé","it":"L\'energia è cambiata","sv":"Strömmen ändrades","no":"Strømmen ble endret","es":"La potencia ha cambiado","da":"Strømmen ændrede sig","ru":"Электроэнергия изменена","pl":"Zmiana mocy","ko":"전력 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":7.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Pressure","nl":"Druk","de":"Druck","fr":"Pression","it":"Pressione","sv":"Tryck","no":"Trykk","es":"Presión","da":"Tryk","ru":"Давление","pl":"Ciśnienie","ko":"압력"},"units":{"en":"mbar","ru":"мбар","ko":"mbar","no":"mbar"},"insights":true,"desc":{"en":"Pressure in millibar (mbar)","nl":"Druk in millibar (mbar)","de":"Druck in Millibar (mbar)","fr":"Pression en millibar (mbar)","it":"Pressione in millibar (mbar)","sv":"Tryck i millibar (mbar)","no":"Trykk i millibar (mbar)","es":"Presión en milibares (mbar)","da":"Tryk i millibar (mbar)","ru":"Давление (мбар)","pl":"Ciśnienie w milibarach (mbar)","ko":"압력 밀리바(mbar)"},"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pressure_changed","title":{"en":"The pressure changed","nl":"De druk is veranderd","de":"Der Druck hat sich geändert","fr":"La pression a changé","it":"La pressione è cambiata","sv":"Trycket ändrades","no":"Trykket ble endret","es":"La presión ha cambiado","da":"Trykkey ændrede sig","ru":"Давление изменилось","pl":"Zmiana ciśnienia","ko":"압력 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":1000}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Radon","nl":"Radon","da":"Radon","it":"Radon","ko":"라돈","pl":"Radon","ru":"Радон","sv":"Radon","es":"Radón","fr":"Radon","no":"Radon"},"units":{"en":"Bq/m³","nl":"Bq/m³","da":"Bq/m³","it":"Bq/m³","ko":"Bq/m³","pl":"Bq/m³","ru":"Бк/м³","sv":"Bq/m³","es":"Bq/m³","fr":"Bq/m³","no":"Bq/m³"},"insights":true,"desc":{"en":"Radon in Becquerel per cubic meter (Bq/m³)","nl":"Radon in becquerel per kubieke meter (Bq/m³)","da":"Radon i Becquerel pr. kubikmeter (Bq/m³)","it":"Radon in Becquerel per metro cubo (Bq/m³)","ko":"입방미터당 베크렐(Bq/m³) 단위의 라돈","pl":"Radon w bekerelach na metr sześcienny (Bq/m³)","ru":"Радон в беккерелях на кубический метр (Бк/м³)","sv":"Radon i becquerel per kubikmeter (Bq/m³)","es":"Radón en becquerelios por metro cúbico (Bq/m³)","fr":"Radon en Becquerel par mètre cube (Bq/m³)","no":"Radon i becquerel per kubikkmeter (Bq/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_radon_changed","title":{"en":"The radon level has changed","nl":"Het radon-niveau is veranderd","da":"Radon-værdien har ændret sig","it":"Il livello di radon è cambiato","ko":"라돈 수준 변경됨","no":"Radonnivået er endret","pl":"Zmienił się poziom radonu","ru":"Значение радона изменилось","sv":"Radonvärdet har ändrats","es":"El nivel de radón ha cambiado","fr":"La valeur du radon a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rain","nl":"Regen","de":"Niederschlag","fr":"Pluie","it":"Pioggia","sv":"Regn","no":"Regn","es":"Lluvia","da":"Regn","ru":"Дождь","pl":"Deszcz","ko":"강우량"},"units":{"en":"mm","ru":"мм","ko":"mm","no":"mm"},"insights":true,"desc":{"en":"Rain in millimeter (mm)","nl":"Regen in millimeter (mm)","de":"Niederschlag in Millimeter (mm)","fr":"Pluie en millimètres (mm)","it":"Pioggia in millimetri (mm)","sv":"Regn i millimeter (mm)","no":"Regn i millimeter (mm)","es":"Lluvia en milímetros (mm)","da":"Regn i millimeter (mm)","ru":"Дождь в миллиметрах (мм)","pl":"Deszcz w milimetrach (mm)","ko":"강우량 밀리미터(mm)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_rain_changed","title":{"en":"The rain changed","nl":"De regen is veranderd","de":"Der Niederschlag hat sich geändert","fr":"La pluie a changé","it":"La pioggia è cambiata","sv":"Regnet ändrades","no":"Regnet ble endret","es":"La lluvia ha cambiado","da":"Regnen ændrede sig","ru":"Дождь изменился","pl":"Zmiana poziomu deszczu","ko":"강우량 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":3}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rain Intensity","nl":"Regenintensiteit","da":"Regnens intensitet","it":"Intensità della pioggia","ko":"비 강도","pl":"Intensywność deszczu","ru":"Интенсивность дождя","sv":"Regnintensitet","es":"Intensidad de la lluvia","fr":"Intensité de la pluie","no":"Nedbørsmengde"},"units":{"en":"mm/h","nl":"mm/u","da":"mm/t","it":"mm/h","ko":"mm/h","pl":"mm/h","ru":"мм/ч","sv":"mm/h","es":"mm/h","fr":"mm/h","no":"mm/t"},"desc":{"en":"The rain intensity in millimeters per hour.","nl":"De regenintensiteit in millimeters per uur.","da":"Regnintensiteten i millimeter pr. time.","it":"L\'intensità della pioggia in millimetri all\'ora.","ko":"시간당 밀리미터 단위의 비 강도입니다.","pl":"Intensywność deszczu w milimetrach na godzinę.","ru":"Интенсивность дождя в миллиметрах в час.","sv":"Regnintensiteten i millimeter per timme.","es":"La intensidad de la lluvia en milímetros por hora.","fr":"L\'intensité de la pluie en millimètres par heure.","no":"Nedbørsmengden i millimeter per time."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_rain_intensity_changed","title":{"en":"The rain intensity changed","nl":"De regenintensiteit is veranderd","da":"Regnens intensitet ændrede sig","it":"L\'intensità della pioggia è cambiata","ko":"비 강도 변경됨","pl":"Zmieniła się Intensywność deszczu","ru":"Интенсивность дождя изменилась","sv":"Regnintensiteten förändrades","es":"La intensidad de la lluvia ha cambiado","fr":"L\'intensité de la pluie a changé","no":"Nedbørsmengden ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rotation","nl":"Rotatie","da":"Rotation","it":"Rotazione","ko":"회전각","pl":"Rotacja","ru":"Вращение","sv":"Rotation","es":"Rotación","fr":"Rotation","no":"Rotasjon"},"units":{"en":"°","nl":"°","da":"°","it":"°","ko":"°","pl":"°","ru":"°","sv":"°","es":"°","fr":"°","no":"°"},"desc":{"en":"The rotation in degrees.","nl":"De rotatie in graden.","da":"Rotationen i grader.","it":"La rotazione in gradi.","ko":"도 단위의 회전각입니다.","pl":"Obrót w stopniach.","ru":"Вращение в градусах.","sv":"Rotationen i grader.","es":"La rotación en grados.","fr":"La rotation en degrés.","no":"Rotasjonen i grader."},"insights":true,"chartType":"spline","decimals":1,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_rotation_changed","title":{"en":"The rotation changed","nl":"De rotatie is veranderd","da":"Rotationen ændrede sig","it":"La rotazione è cambiata","ko":"회전각 변경됨","pl":"Zmieniła się rotacja","ru":"Вращение изменилось","sv":"Rotationen ändrades","es":"La rotación ha cambiado","fr":"La rotation a changé","no":"Rotasjonen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Signal Strength","nl":"Signaalsterkte","da":"Signalstyrke","it":"Intensità del segnale","ko":"신호 강도","pl":"Siła sygnału","ru":"Мощность сигнала","sv":"Signalstyrka","es":"Intensidad de la señal","fr":"Intensité du signal","no":"Signalstyrke"},"units":{"en":"dB","nl":"dB","da":"dB","it":"dB","ko":"dB","pl":"dB","ru":"дБ","sv":"dB","es":"dB","fr":"dB","no":"dB"},"desc":{"en":"The signal strength in decibels.","nl":"De signaalsterkte in decibel.","da":"Signalstyrken i decibel.","it":"L\'intensità del segnale in decibel.","ko":"데시벨 단위의 신호 강도입니다.","pl":"Siła sygnału w decybelach.","ru":"Мощность сигнала в децибелах.","sv":"Signalstyrkan i decibel.","es":"La intensidad de la señal en decibelios.","fr":"L\'intensité du signal en décibels.","no":"Signalstyrken i desibel."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_signal_strength_changed","title":{"en":"The signal strength changed","nl":"De signaalsterkte is veranderd","da":"Signalstyrken ændrede sig","it":"L\'intensità del segnale è cambiata","ko":"신호 강도 변경됨","pl":"Zmieniła się siła sygnału","ru":"Мощность сигнала изменилась","sv":"Signalstyrkan har ändrats","es":"La intensidad de la señal ha cambiado","fr":"L\'intensité du signal a changé","no":"Signalstyrken ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"SO2","nl":"SO2","da":"SO2","it":"SO2","ko":"SO2","pl":"SO2","ru":"SO2","sv":"SO2","es":"SO2","fr":"SO2","no":"SO2"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Sulfur dioxide in micrograms per cubic meter (μg/m³)","nl":"Zwaveldioxide in microgram per kubieke meter (μg/m³)","da":"Svovldioxid i mikrogram pr. kubikmeter (μg/m³)","it":"Anidride solforosa in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 이산화황","pl":"Dwutlenek siarki w mikrogramach na metr sześcienny (μg/m³)","ru":"Диоксид серы в микрограммах на кубический метр (мкг/м³)","sv":"Svaveldioxid i mikrogram per kubikmeter (μg/m³)","es":"Dióxido de azufre en microgramos por metro cúbico (μg/m³)","fr":"Dioxyde de soufre en microgrammes par mètre cube (μg/m³)","no":"Svoveldioksid i mikrogram per kubikkmeter (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_so2_changed","title":{"en":"The SO2 level has changed","nl":"Het SO2-niveau is veranderd","da":"SO2-værdien har ændret sig","it":"Il livello di SO2 è cambiato","ko":"SO2 수준 변경됨","no":"SO2-nivået er endret","pl":"Zmienił się poziom SO2","ru":"Значение SO2 изменилось","sv":"SO2-värdet har ändrats","es":"El nivel de SO2 ha cambiado","fr":"La valeur du SO2 a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Speed","nl":"Snelheid","da":"Hastighed","it":"Velocità","ko":"속도","pl":"Prędkość","ru":"Скорость","sv":"Hastighet","es":"Velocidad","fr":"Vitesse","no":"Hastighet"},"units":{"en":"m/s","nl":"m/s","da":"m/s","it":"m/s","ko":"m/s","pl":"m/s","ru":"м/с","sv":"m/s","es":"m/s","fr":"m/s","no":"m/s"},"desc":{"en":"The speed in meters per second.","nl":"De snelheid in meters per seconde.","da":"Hastigheden i meter pr. sekund.","it":"La velocità in metri al secondo.","ko":"초당 미터 단위의 속도입니다.","pl":"Prędkość w metrach na sekundę.","ru":"Скорость в метрах в секунду.","sv":"Hastigheten i meter per sekund.","es":"La velocidad en metros por segundo.","fr":"La vitesse en mètres par seconde.","no":"Hastigheten i meter per sekund."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_speed_changed","title":{"en":"The speed changed","nl":"De snelheid is veranderd","da":"Hastigheden ændrede sig","it":"La velocità è cambiata","ko":"속도 변경됨","pl":"Zmieniła się prędkość","ru":"Скорость изменилась","sv":"Hastigheten ändrades","es":"La velocidad ha cambiado","fr":"La vitesse a changé","no":"Hastigheten ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Temperature","nl":"Temperatuur","de":"Temperatur","fr":"Température","it":"Temperatura","sv":"Temperatur","no":"Temperatur","es":"Temperatura","da":"Temperatur","ru":"Температура","pl":"Temperatura","ko":"온도"},"units":{"en":"°C","ko":"°C","no":"°C","ru":"°C"},"insights":true,"desc":{"en":"Temperature in degrees Celsius (°C)","nl":"Temperatuur in graden Celsius (°C)","de":"Temperatur in Grad Celsius (°C)","fr":"Température en degrés Celsius (°C)","it":"Temperatura in gradi Celsius (°C)","sv":"Temperatur i grader Celsius (°C)","no":"Temperatur i grader Celsius (°C)","es":"Temperatura en grados Celsius (°C)","da":"Temperatur i Celsius (°C)","ru":"Температура в градусах Цельсия (°C)","pl":"Temperatura w stopniach Celsjusza (°C)","ko":"온도 섭씨(°C)"},"decimals":1,"chartType":"spline","getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_temperature_changed","highlight":true,"title":{"en":"The temperature changes","nl":"De temperatuur verandert","de":"Die Temperatur hat sich geändert","fr":"La température a changé","it":"La temperatura è cambiata","sv":"Temperaturen ändrades","no":"Temperaturen endres","es":"La temperatura ha cambiado","da":"Temperaturen ændrede sig","ru":"Температура изменяется","pl":"Zmiana temperatury","ko":"온도 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":23.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"TVOC","nl":"VOS","da":"TVOC","it":"TVOC","ko":"TVOC","pl":"Wszystkie LZO","ru":"TVOC","sv":"TVOC","es":"TVOC","fr":"TVOC","no":"TVOC"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Total volatile organic compounds in micrograms per cubic meter (μg/m³)","nl":"Totale vluchtige organische stoffen in microgram per kubieke meter (μg/m³)","da":"Total mængde flygtige organiske forbindelser i mikrogram pr. kubikmeter (μg/m³)","it":"Composti organici volatili totali in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 휘발성 유기 화합물 총량","pl":"Całkowita ilość lotnych związków organicznych w mikrogramach na metr sześcienny (μg/m³)","ru":"Общее количество летучих органических соединений в микрограммах на кубический метр (мкг/м³)","sv":"Totalt antal flyktiga organiska föreningar i mikrogram per kubikmeter (μg/m³)","es":"Compuestos orgánicos volátiles totales en microgramos por metro cúbico (μg/m³)","fr":"Total des composés organiques volatils en microgrammes par mètre cube (μg/m³)","no":"Total mengde flyktige organiske forbindelser i mikrogram per kubikkmeter (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_tvoc_changed","title":{"en":"The TVOC level has changed","nl":"Het VOS-niveau is veranderd","da":"TVOC-værdien har ændret sig","it":"Il livello di TVOC è cambiato","ko":"TVOC 수준 변경됨","no":"TVOC-nivået er endret","pl":"Zmieniła się wartość wszystkich LZO","ru":"Значение TVOC изменилось","sv":"TVOC-värdet har ändrats","es":"El nivel de TVOC ha cambiado","fr":"La valeur du TVOC a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"TVOC index","nl":"VOS-index","da":"TVOC-indeks","it":"Indice TVOC","ko":"TVOC 지수","pl":"Wskaźnik wszystkich LZO","ru":"Показатель TVOC","sv":"TVOC-index","es":"Índice de COVT","fr":"Indice TVOC","no":"TVOC-indeks"},"insights":true,"desc":{"en":"Total volatile organic compounds index","nl":"Index van totaal vluchtige organische stoffen","da":"Samlet indeks for flygtige organiske forbindelser","it":"Indice dei composti organici volatili totali","ko":"휘발성 유기 화합물 총량 지수","pl":"Wskaźnik wszystkich lotnych związków organicznych","ru":"Общий показатель летучих органических соединений","sv":"Index för totala mängden flyktiga organiska föreningar","es":"Índice de compuestos orgánicos volátiles en total","fr":"Indice des composés organiques volatils totaux","no":"Indeks for total mengde flyktige organiske forbindelser"},"chartType":"spline","getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_tvoc_index_changed","title":{"en":"The TVOC index has changed","nl":"De VOS-index is veranderd","da":"TVOC-indeksværdien har ændret sig","it":"L\'indice TVOC è cambiato","ko":"TVOC 지수 수준 변경됨","no":"TVOC-indeksen er endret","pl":"Zmienił się wskaźnik wszystkich LZO","ru":"Значение показателя TVOC изменилось","sv":"TVOC-indexvärdet har ändrats","es":"El índice de TVOC ha cambiado","fr":"La valeur de l\'indice TVOC a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Ultraviolet","nl":"Ultraviolet","de":"Ultraviolett","fr":"Ultraviolet","it":"Ultravioletto","sv":"Ultraviolett","no":"Ultrafiolett","es":"Ultravioleta","da":"Ultraviolet","ru":"Ультрафиолетовое излучение","pl":"Promieniowanie UV","ko":"자외선"},"units":{"en":"UVI","ru":"Индекс УФ-излучения","ko":"UVI","no":"UVI"},"desc":{"en":"Ultraviolet in UV index (UVI)","de":"Ultraviolett in UV-Index (UVI)","fr":"Ultraviolet en UV-Index (UVI)","it":"Ultravioletto nell\'indice UV (UVI)","sv":"Ultraviolett i UV-Index (UVI)","no":"Ultrafiolett på UV-indeks (UVI)","es":"Ultravioleta en índice UV (UV)","da":"Ultraviolet i UV-indeks (UV)","ru":"Индекс ультрафиолетового излучения","pl":"Promieniowanie UV w indeksie UV (UVI)","ko":"자외선 UV 지수(UVI)"},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_ultraviolet_changed","title":{"en":"The ultraviolet value changed","nl":"De ultravioletwaarde is veranderd","de":"Der Ultraviolett-Wert hat sich geändert","fr":"La valeur d\'ultraviolet a changé","it":"Il valore dell\'ultravioletto è cambiato","sv":"Ultraviolettvärdet ändrades","no":"Ultrafiolettverdien ble endret","es":"La radiación ultravioleta ha cambiado","da":"UV-værdien ændrede sig","ru":"Значение УФ-излучения изменилось","pl":"Zmiana poziomu promieniowania UV","ko":"자외선 값 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":100}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Voltage","nl":"Voltage","de":"Spannung","fr":"Voltage","it":"Voltaggio","sv":"Spänning","no":"Spenning","es":"Tensión","da":"Elektrisk spænding","ru":"Вольтаж","pl":"Napięcie","ko":"전압"},"units":{"en":"V","ru":"Вольт","ko":"V"},"desc":{"en":"Voltage (V)","nl":"Voltage (V)","de":"Spannung (V)","fr":"Voltage (V)","it":"Voltaggio (V)","sv":"Spänning (V)","no":"Spenning (V)","es":"Tensión (V)","da":"Volt (V)","ru":"Вольтаж (Вольт)","pl":"Napięcie (V)","ko":"전압 볼트(V)"},"insights":true,"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_voltage_changed","title":{"en":"The voltage changed","nl":"Het voltage is veranderd","de":"Die Spannung hat sich geändert","fr":"Le voltage a changé","it":"Il voltaggio è cambiato","sv":"Spänningen ändrades","no":"Spenningen ble endret","es":"La tensión ha cambiado","da":"Den elektriske spænding ændrede sig","ru":"Вольтаж изменен","pl":"Zmiana poziomu napięcia","ko":"전압 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":7.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Water flow","nl":"Waterdoorstroming","de":"Wasserfluss","fr":"Débit d\'eau","it":"Flusso d\'acqua","sv":"Vattenflöde","no":"Vannstrøm","es":"Caudal del agua","da":"Vandstrøm","ru":"Поток воды","pl":"Poziom przepływu wody","ko":"수량"},"units":{"en":"L/min","ru":"Л/мин","ko":"L/min","no":"L/min"},"desc":{"en":"Water flow in liters per minute (L/min)","nl":"Waterdoorstroming in liters per minuut (L/min)","de":"Wasserfluss in Liter pro Minute (L/min)","fr":"Débit d\'eau en litres par minute (L/min)","it":"Flusso d\'acqua in litri al minuto (L/min)","sv":"Vattenflöde i liter per minut (L/min)","no":"Vannstrøm i liter per minutt (L/min)","es":"Caudal del agua en litros por minuto (L/min)","da":"Vandstrøm i liter per minut (L/min)","ru":"Поток воды в литрах в минуту (л/мин)","pl":"Poziom przepływu wody w litrach na minutę (L/min)","ko":"수량 분당 리터(L/min)"},"insights":true,"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_water_changed","title":{"en":"The waterflow changed","nl":"De waterstroom is veranderd","de":"Der Wasserfluss hat sich geändert","fr":"Le débit d\'eau a changé","it":"Il flusso d\'acqua è cambiato","sv":"Vattenflödet ändrades","no":"Vannstrømmen ble endret","es":"El caudal del agua ha cambiado","da":"Vandstrømmen har ændret sig","ru":"Поток воды изменился","pl":"Zmienił się przepływ wody","ko":"수량 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Weight","nl":"Gewicht","da":"Vægt","it":"Peso","ko":"무게","pl":"Waga","ru":"Вес","sv":"Vikt","es":"Peso","fr":"Poids","no":"Vekt"},"units":{"en":"g","nl":"g","da":"g","it":"g","ko":"g","pl":"g","ru":"г","sv":"g","es":"g","fr":"g","no":"g"},"desc":{"en":"Generic mass in grams; weight is used instead of mass to fit with everyday language.","nl":"Generieke massa in grammen; gewicht wordt gebruikt in plaats van massa om aan te sluiten bij het alledaagse taalgebruik.","da":"Generisk masse i gram; vægt bruges i stedet for masse for at passe til hverdagssproget.","it":"Massa generica in grammi; il peso è usato al posto della massa per adattarsi al linguaggio quotidiano.","ko":"그램은 일반적으로 질량 단위이지만, 일상 언어에 맞게 질량 대신 무게라는 용어를 사용합니다.","pl":"Ogólna masa w gramach; słowo „waga” jest użyte zamiast „masa”, aby pasowało do codziennego języka.","ru":"Общая масса в граммах; вес используется вместо массы, с учетом сложившейся традиции в повседневной речи.","sv":"Generisk massa i gram; vikt används i stället för massa för att passa in i vardagsspråket.","es":"Masa genérica en gramos; se utiliza el peso en lugar de la masa para facilitar la comprensión.","fr":"Masse générique en grammes ; le terme \\"poids\\" est utilisé au lieu de \\"masse\\" pour s\'ajuster au langage courant.","no":"Generisk masse i gram – vekt brukes i stedet for masse siden det brukes i dagligtalen."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_weight_changed","title":{"en":"The weight changed","nl":"Het gewicht is veranderd","da":"Vægten ændrede sig","it":"Il peso è cambiato","ko":"무게 변경됨","pl":"Zmieniła się waga","ru":"Вес изменился","sv":"Vikten ändrades","es":"El peso ha cambiado","fr":"Le poids a changé","no":"Vekten ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Wind angle","nl":"Windrichting","de":"Windrichtung","fr":"Angle du vent","it":"Angolo del vento","sv":"Vindvinkel","no":"Vindvinkel","es":"Ángulo del viento","da":"Vindvinkel","ru":"Угол ветра","pl":"Kąt wiatru","ko":"풍향"},"units":{"en":"°","ko":"°","ru":"°"},"desc":{"en":"Wind angle in degrees (°)","nl":"Windrichting in graden (°)","de":"Windrichtung in Grad (°)","fr":"Angle du vent en degrés (°)","it":"Angolo del vento in gradi (°)","sv":"Vindvinkel i grader (°)","no":"Vindvinkel i grader (°)","es":"Ángulo del viento en grados (°)","da":"Vindvinkel i grader (°)","ru":"Угол ветра в градусах (°)","pl":"Kąt wiatru w stopniach (°)","ko":"풍향 각도(°)"},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_wind_angle_changed","title":{"en":"The wind angle changed","nl":"De windrichting is veranderd","de":"Die Windrichtung hat sich geändert","fr":"L\'angle du vent a changé","it":"L\'angolo del vento è cambiato","sv":"Vindvinkel ändrad","no":"Vindvinkel er endret","es":"El ángulo del viento ha cambiado","da":"Vindvinklen er skiftet","ru":"Угол наклона ветра изменился","pl":"Zmiana kąta wiatru","ko":"풍향 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":36}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Wind strength","nl":"Windsnelheid","de":"Windstärke","fr":"Force du vent","it":"Forza del vento","sv":"Vindstyrka","no":"Vindstyrke","es":"Fuerza del viento","da":"Vindstyrke","ru":"Сила ветра","pl":"Siła wiatru","ko":"풍속"},"units":{"en":"km/h","ru":"км/ч","ko":"km/h","no":"km/t"},"desc":{"en":"Wind Strength in kilometer per hour (km/h)","nl":"Windsnelheid in kilometer per uur (km/u)","de":"Windstärke in Kilometer pro Stunde (km/h)","fr":"Force du vent en kilomètres par heure (km/h)","it":"Forza del vento in chilometri orari (km/h)","sv":"Vindstyrka i kilometer per timme (km/h)","no":"Vindstyrke i kilometer per time (km/t)","es":"La fuerza del viento en kilómetros por hora (km/h)","da":"Vindstyrke i kilometer i timen (km/t)","ru":"Сила ветра в км в час (км/ч)","pl":"Siła wiatru w kilometrach na godzinę (km/h)","ko":"풍속 시간당 킬로미터(km/h)"},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_wind_strength_changed","title":{"en":"The wind strength changed","nl":"De windkracht is veranderd","de":"Die Windstärke hat sich geändert","fr":"La force du vent a changé","it":"La forza del vento è cambiata","sv":"Vindstyrkan ändrades","no":"Vindstyrken ble endret","es":"La fuerza del viento ha cambiado","da":"Vindstyrken ændrede sig","ru":"Сила ветра изменилась","pl":"Zmiana siły wiatru","ko":"풍속 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":15}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Media Input","nl":"Media-invoer","da":"Medieindgang","it":"Ingresso multimediale","ko":"미디어 입력","pl":"Wejście multimedialne","ru":"Вход для устройств мультимедиа","sv":"Mediaingång","es":"Entrada de contenido multimedia","fr":"Entrée multimédia","no":"Medieinngang"},"desc":{"en":"The input channel for a media player","nl":"Het invoerkanaal voor een mediaspeler","da":"Indgangskanalen til en medieafspiller","it":"Il canale di ingresso di un lettore multimediale","ko":"미디어 플레이어의 입력 채널","pl":"Kanał wejściowy dla odtwarzacza multimedialnego","ru":"Канал ввода для медиаплеера","sv":"Ingångskanalen för en mediaspelare","es":"El canal de entrada de un reproductor multimedia","fr":"Le canal d\'entrée d\'un lecteur multimédia","no":"Inngangskanalen for en mediespiller"},"values":[{"id":"hdmi_1","title":{"en":"HDMI 1","nl":"HDMI 1","da":"HDMI 1","it":"HDMI 1","ko":"HDMI 1","pl":"HDMI 1","ru":"HDMI 1","sv":"HDMI 1","es":"HDMI 1","fr":"HDMI 1","no":"HDMI 1"}},{"id":"hdmi_2","title":{"en":"HDMI 2","nl":"HDMI 2","da":"HDMI 2","it":"HDMI 2","ko":"HDMI 2","pl":"HDMI 2","ru":"HDMI 2","sv":"HDMI 2","es":"HDMI 2","fr":"HDMI 2","no":"HDMI 2"}},{"id":"hdmi_3","title":{"en":"HDMI 3","nl":"HDMI 3","da":"HDMI 3","it":"HDMI 3","ko":"HDMI 3","pl":"HDMI 3","ru":"HDMI 3","sv":"HDMI 3","es":"HDMI 3","fr":"HDMI 3","no":"HDMI 3"}},{"id":"usb_1","title":{"en":"USB 1","nl":"USB 1","da":"USB 1","it":"USB 1","ko":"USB 1","pl":"USB 1","ru":"USB 1","sv":"USB 1","es":"USB 1","fr":"USB 1","no":"USB 1"}},{"id":"usb_2","title":{"en":"USB 2","nl":"USB 2","da":"USB 2","it":"USB 2","ko":"USB 2","pl":"USB 2","ru":"USB 2","sv":"USB 2","es":"USB 2","fr":"USB 2","no":"USB 2"}},{"id":"component","title":{"en":"Component","nl":"Component","da":"Komponent","it":"Componente","ko":"컴포넌트","pl":"Komponent","ru":"Компонент","sv":"Komponent","es":"Componente","fr":"Composant","no":"Komponent"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"media_input_changed","highlight":true,"title":{"en":"The media input changed to","nl":"De media-invoer is veranderd naar","da":"Medieindgangen blev ændret til","it":"L\'ingresso multimediale è passato a","ko":"미디어 입력이 다음으로 변경됨","pl":"Wejście multimedialne zmieniło się na","ru":"Вход для устройств мультимедиа был изменен на","sv":"Medieuppgifterna ändrades till","es":"La entrada de contenido multimedia ha cambiado a","fr":"L\'entrée multimédia est passée à","no":"Medieinngangen ble endret til"},"args":[{"name":"input","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"media_input_is","title":{"en":"The media input !{{is|is not}}","nl":"De media-invoer !{{is|is niet}}","da":"Medieindgangen !{{er|er ikke}}","it":"L\'ingresso multimediale !{{è|non è}}","ko":"미디어 입력이 다음!{{과 같음| 아님}}","pl":"Wejście multimedialne !{{jest|nie jest}}","ru":"Вход для устройств мультимедиа !{{|не}}","sv":"Mediaingången !{{är|är inte}}","es":"La entrada de contenido multimedia !{{es|no es}}","fr":"L\'entrée multimédia !{{est|n\'est pas}}","no":"Medieinngangen !{{er|er ikke}}"},"args":[{"name":"input","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_media_input","title":{"en":"Set the media input","nl":"De media-invoer instellen","da":"Indstil medieindgangen","it":"Imposta l\'ingresso multimediale","ko":"미디어 입력 설정","pl":"Ustaw wejście multimedialne","ru":"Установить вход для устройств мультимедиа ","sv":"Ställ in mediaingången","es":"Configurar la entrada de contenido multimedia","fr":"Définir l\'entrée multimédia","no":"Innstill medieinngangen"},"args":[{"name":"input","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Gas meter","nl":"Gasmeter","de":"Gaszähler","fr":"Compteur de gaz","it":"Contatore del gas","sv":"Gasmätare","no":"Gassmåler","es":"Contador de gas","da":"Gasmåler","ru":"Счетчик газа","pl":"Licznik gazowy","ko":"가스 계량"},"min":0,"decimals":2,"chartType":"spline","units":{"en":"m³","ru":"м³","ko":"m³","no":"m³"},"desc":{"en":"Gas usage in cubic meter (m³)","nl":"Gas gebruik in kubieke meter (m³)","de":"Gasverbrauch in Kubikmeter (m³)","fr":"Consommation de gaz en mètres cubes (m³)","it":"Consumo di gas in metri cubi (m³)","sv":"Gasanvändning i kubikmeter (m³)","no":"Gassforbruk i kubikkmeter (m³)","es":"Consumo de gas en metros cúbicos (m³)","da":"Gasforbrug i kubikmeter (m³)","ru":"Использование газа в кубометрах (м³)","pl":"Zużycie gazu w metrach sześciennych (m³)","ko":"가스 사용량 입방미터(m³)"},"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_gas_changed","title":{"en":"The gas meter changed","nl":"De gasmeter is veranderd","de":"Der Gaszähler hat sich geändert","fr":"Le compteur de gaz a changé","it":"Il contatore del gas è cambiato","sv":"Gasmätaren ändrades","no":"Gassmåleren ble endret","es":"El contador de gas ha cambiado","da":"Gasmåleren ændrede sig","ru":"Измерения счетчика газа изменились","pl":"Zmiana w liczniku gazowym","ko":"가스 계량 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":25}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Energy","nl":"Energie","de":"Energie","fr":"Énergie","it":"Energia","sv":"Energi","no":"Energi","es":"Energía","da":"Energi","ru":"Электроэнергия","pl":"Energia","ko":"에너지"},"decimals":2,"units":{"en":"kWh","ru":"кВтч","ko":"kWh","no":"kWh"},"desc":{"en":"Energy usage in kilowatt-hour (kWh)","nl":"Energie verbruik in kilowattuur (kWh)","de":"Energieverbrauch in Kilowattstunde (kWh)","fr":"Consommation d\'énergie en kilowatt-heure (kWh)","it":"Consumo energetico in kilowattora (kWh)","sv":"Energianvändning i kilowattimmar (kWh)","no":"Energiforbruk i kilowattimer (kWh)","es":"Uso de energía en kilovatio hora (kWh)","da":"Energiforbrug i kilowattime (kWh)","ru":"Энергопотребление в киловатт-часах (кВтч)","pl":"Zużycie energii w kilowatogodzinach (kWh)","ko":"에너지 사용량 킬로와트시(kWh)"},"chartType":"spline","options":{"isApproximated":{"type":"boolean","default":false,"desc":{"en":"This flag is used to determine that the device itself has no power measurement functionality, but that the driver calculates the energy use.","ru":"Этот флаг используется для определения того, что само устройство не имеет функции измерения электроэнергии, но драйвер рассчитывает потребление энергии.","pl":"Flaga oznacza, że samo urządzenie nie ma funkcji pomiaru mocy, ale sterownik oblicza zużycie energii.","ko":"이 플래그는 디바이스 자체에 전력 측정 기능이 없지만 드라이버가 에너지 사용량을 계산하는 경우에 사용됩니다.","no":"Dette flagget brukes til å anmerke at enheten i seg selv ikke har noen funksjon for effektmåling, men at sjåføren beregner energibruken.","es":"Este aviso indica que el dispositivo no dispone de ninguna funcionalidad para medir la energía, sino que el controlador calcula el uso de energía."}}},"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_power_changed","title":{"en":"The power meter changed","nl":"De stroommeter is veranderd","de":"Der Gesamtverbrauch hat sich geändert","fr":"Le compteur électrique a changé","it":"Il misuratore di potenza è cambiato","sv":"Elmätaren ändrades","no":"Strømmåleren ble endret","es":"El contador de energía ha cambiado","da":"Strømmåleren ændrede sig","ru":"Измерения счетчика электроэнергии изменились","pl":"Zmiana w liczniku mocy","ko":"전력 계량 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":25}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rain meter","nl":"Regenmeter","de":"Regenzähler","fr":"Compteur de pluie","it":"Misuratore di pioggia","sv":"Regnmätare","no":"Regnmåler","es":"Pluviómetro","da":"Regnmåler","ru":"Счетчик дождя","pl":"Licznik deszczu","ko":"강우량 계량"},"units":{"en":"m³","ru":"м³","ko":"m³","no":"m³"},"chartType":"spline","desc":{"en":"Rain in cubic meter (m³)","nl":"Regen in kubieke meter (m³)","de":"Regen in Kubikmeter (m³)","fr":"Pluie en mètres cubes (m³)","it":"Pioggia in metri cubi (m³)","sv":"Regn i kubikmeter (m³)","no":"Regn i kubikkmeter (m³)","es":"Lluvia en metros cúbicos (m³)","da":"Regn i kubikmeter (m³)","ru":"Дождь в кубометрах (м³)","pl":"Deszcz w metrach sześciennych (m³)","ko":"강우량 입방미터(m³)"},"decimals":2,"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_rain_changed","title":{"en":"The rain meter changed","nl":"De regenmeter is veranderd","de":"Der Regenzähler hat sich geändert","fr":"Le compteur de pluie a changé","it":"Il misuratore di pioggia è cambiato","sv":"Regnmätaren ändrades","no":"Regnmåleren ble endret","es":"El pluviómetro ha cambiado","da":"Regnmåleren ændrede sig","ru":"Измерения дождя изменились","pl":"Zmiana w liczniku deszczu","ko":"강우량 계량 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":1}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Water meter","nl":"Watermeter","de":"Wasserzähler","fr":"Compteur d\'eau","it":"Contatore dell\'acqua","sv":"Vattenmätare","no":"Vannmåler","es":"Contador de agua","da":"Vandmåler","ru":"Счетчик воды","pl":"Licznik wody","ko":"수도 계량"},"decimals":3,"min":0,"units":{"en":"m³","ru":"м³","ko":"m³","no":"m³"},"chartType":"spline","desc":{"en":"Water usage in cubic meter (m³)","nl":"Water gebruik in kubieke meter (m³)","de":"Wasserverbrauch in Kubikmeter (m³)","fr":"Consommation d\'eau en mètres cubes (m³)","it":"Utilizzo di acqua in metri cubi (m³)","sv":"Vattenanvändning i kubikmeter (m³)","no":"Vannforbruk i kubikkmeter (m³)","es":"Consumo de agua en metros cúbicos (m³)","da":"Vandforbrug i kubikmeter (m³)","ru":"Использование воды в кубометрах (м³)","pl":"Zużycie wody w metrach sześciennych (m³)","ko":"수도 사용량 입방미터(m³)"},"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_water_changed","title":{"en":"The water meter changed","nl":"De watermeter is veranderd","de":"Der Wasserzähler hat sich geändert","fr":"Le compteur d\'eau a changé","it":"Il contatore dell\'acqua è cambiato","sv":"Vattenmätaren ändrades","no":"Vannmåleren ble endret","es":"El contador de agua ha cambiado","da":"Vandmåleren ændrede sig","ru":"Измерения счетчика воды изменились","pl":"Zmiana w liczniku wody","ko":"수도 계량 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":25}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Mower state","nl":"Staat van de maaier","da":"Plæneklipperens tilstand","it":"Stato del tosaerba","ko":"잔디깎이 상태","pl":"Stan kosiarki","ru":"Состояние косилки","sv":"Gräsllipparens tillstånd","es":"Estado del cortacésped","fr":"État de la tondeuse","no":"Gressklipperstatus"},"desc":{"en":"The current state of the lawnmower.","da":"Plæneklipperens nuværende tilstand.","it":"Lo stato attuale del tosaerba.","ko":"잔디 깎는 기계의 현재 상태입니다.","nl":"De huidige staat van de grasmaaier.","pl":"Aktualny stan kosiarki.","ru":"Текущее состояние газонокосилки.","sv":"Det aktuella tillståndet för gräsklipparen.","es":"El estado actual del cortacésped.","fr":"L\'état actuel de la tondeuse à gazon.","no":"Gressklipperens nåværende tilstand."},"values":[{"id":"mowing","title":{"en":"Mowing","da":"Klipper","it":"Falciatura in corso","ko":"잔디 깎는 중","nl":"Maaien","pl":"W trakcie koszenia","ru":"Кошение","sv":"Klippning","es":"Segando","fr":"Tonte","no":"Klipper gress"}},{"id":"docked","title":{"en":"Docked","da":"Forankret","it":"Alloggiato","ko":"도킹됨","nl":"Gekoppeld","pl":"Zadokowana","ru":"На док-станции","sv":"Dockad","es":"En la base de carga","fr":"À la base","no":"I stasjonen"}},{"id":"paused","title":{"en":"Paused","da":"På pause","it":"In pausa","ko":"일시중지됨","nl":"Gepauzeerd","pl":"Wstrzymana","ru":"На паузе","sv":"Pausad","es":"En pausa","fr":"En pause","no":"På pause"}},{"id":"error","title":{"en":"Error","da":"Fejl","it":"Errore","ko":"오류","nl":"Fout","pl":"Błąd","ru":"Ошибка","sv":"Fel","es":"Error","fr":"Erreur","no":"Feil"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"mower_state_changed","title":{"en":"The lawnmower state changed","da":"Plæneklipperens tilstand ændrede sig","it":"Lo stato del tosaerba è cambiato","ko":"잔디깎이 상태 변경됨","nl":"De staat van de grasmaaier is veranderd","pl":"Zmienił się stan kosiarki","ru":"Состояние газонокосилки изменилось","sv":"Läget för gräsklippare förändrades","es":"El estado del cortacésped ha cambiado","fr":"L\'état de la tondeuse à gazon a changé","no":"Gressklipperstatusen ble endret"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"mower_state_is","title":{"en":"The lawnmower !{{is|is not}}","da":"Plæneklipperen !{{er|er ikke}}","it":"Il tosaerba !{{è|non è}}","ko":"잔디깎이가 다음!{{과 같음| 아님}}","nl":"De grasmaaier !{{is|is niet}}","pl":"Kosiarka !{{jest|nie jest}}","ru":"Газонокосилка !{{|не}}","sv":"Gräsklipparen !{{är|är inte}}","es":"El cortacésped !{{está|no está}}","fr":"La tondeuse !{{est|n\'est pas}}","no":"Gressklipperen !{{er|er ikke}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"mower_state_mow","title":{"en":"Start mowing","da":"Begynd at slå græs","it":"Inizia a falciare","ko":"잔디 깎기 시작","nl":"Beginnen met maaien","pl":"Rozpocznij koszenie","ru":"Начать косить","sv":"Börja klippa gräset","es":"Iniciar segado","fr":"Commencer à tondre","no":"Start gressklipping"}},{"id":"mower_state_pause","title":{"en":"Pause mowing","da":"Sæt plæneklipning på pause","it":"Sospendi la falciatura","ko":"잔디 깎기 일시중지","nl":"Maaien onderbreken","pl":"Wstrzymaj koszenie","ru":"Приостановить кошение","sv":"Pausa klippningen","es":"Pausar segado","fr":"Interrompre la tonte","no":"Sett gressklippingen på pause"}},{"id":"mower_state_dock","title":{"en":"Return to dock","da":"Vend tilbage til base","it":"Torna all\'alloggiamento","ko":"도크로 복귀","nl":"Terug naar dok","pl":"Powrót do doku","ru":"Вернуться на док-станцию","sv":"Återgå till dockan","es":"Volver a la base de carga","fr":"Retour à la base","no":"Gå tilbake til stasjonen"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Turned on","nl":"Aangezet","de":"Eingeschaltet","fr":"Activé","it":"Attivato","sv":"Aktiverad","no":"Aktivert","es":"Encendido","da":"Tændt","ru":"Включено","pl":"Włączone","ko":"켜짐"},"getable":true,"setable":true,"insights":true,"insightsTitleTrue":{"en":"Turned on","nl":"Aangezet","de":"Eingeschaltet","fr":"Activé","it":"Attivato","sv":"Aktiverad","no":"Aktivert","es":"Encendido","da":"Tændt","ru":"Включено","pl":"Włączone","ko":"켜짐"},"insightsTitleFalse":{"en":"Turned off","nl":"Uitgezet","de":"Ausgeschaltet","fr":"Désactivé","it":"Disattivato","sv":"Inaktiverad","no":"Deaktivert","es":"Apagado","da":"Slukket","ru":"Выключено","pl":"Wyłączone","ko":"꺼짐"},"options":{"setOnDim":{"type":"boolean","default":true,"desc":{"en":"When a device has both an `onoff` and `dim` capability, and Homey wants to turn the device on AND to a specific dim value, set this capability to `false` to prevent Homey from sending a set command.","de":"Wenn ein Gerät sowohl \'An/Aus\'- als auch \'Dimm\'-Fähigkeit hat und Homey das Gerät anschalten UND auf einen bestimmten Wert dimmen will, setze diese Fähigkeit auf \'false\', um Homey am Senden eines Setzen-Befehls zu hindern.","fr":"Quand un appareil peut `allumer/éteindre` et `estomper`, et que Homey veut allumer l\'appareil ET sur une valeur d\'estompage spécifique, définissez cette capacité sur `faux` pour empêcher Homey d\'envoyer une commande de définition.","it":"Quando un dispositivo può \'accendersi\' e \'attenuarsi\' e Homey desidera attivare il dispositivo E definire un valore specifico, imposta questa funzione su \'falso\' per impedire a Homey di inviare un comando di definizione.","sv":"När en enhet har både en `på/av`- och `dim`-funktionalitet och Homey vill slå på enheten OCH till ett specifikt dimvärde, sätt den här funktionen till `falsk` för att förhindra att Homey skickar ett inställningskommando.","no":"Når en enhet har både en `på/av`- og en `dempe`-funksjon og Homey vil slå på enheten OG sette dempingen til en spesifikk verdi, sett denne egenskapen til `usann` for å forhindre at Homey sender en innstillingskommando.","es":"Cuando un dispositivo tiene tanto la capacidad \'encender/apagar\' como la de \'intensidad de la luz\', y Homey quiere encender el dispositivo Y ajustar una intensidad concreta, configura esta capacidad como \'falso\' para evitar que Homey envíe un comando de configuración.","da":"Når en enhed har både en `tænd/sluk`- og en `dæmpe`-funktion, og Homey vil tænde for enheden OG indstille til en specifik dæmpeværdi, skal denne funktion indstilles til `falsk` for at forhindre, at Homey sender en indstillingskommando.","ru":"Когда устройство имеет функции `onoff` и `dim`, и Homey хочет включить устройство ТАКЖЕ с определенным значением яркости, установите для этой функции значение `false`, чтобы Homey не отправил команду на установку.","pl":"Jeśli urządzenie ma zdolności „wł.wył.” i „przygaś”, a urządzenie Homey chce włączyć produkt ORAZ ustawić konkretną wartość przygaszenia, ustaw tę zdolność jako „nieadekwatne” – w ten sposób Homey nie będzie wysyłać ustawionych poleceń.","ko":"디바이스에 \'onoff\' 및 \'dim\' 기능이 모두 있는데 Homey가 디바이스를 켜는 동시에 특정한 디밍 값으로 설정하길 원한다면 이 기능을 \'거짓\'으로 설정하여 Homey가 설정 명령을 보내지 않도록 해야 합니다."}},"greyout":{"type":"boolean","default":false,"desc":{"en":"When this capability is false, give a visual hint to greyout the device.","de":"wenn diese Fähigkeit \'false\' ist, gibt es einen visuellenen Hinweis, um das Gerät auszugrauen.","fr":"Quand cette capacité est fausse, donnez un indice visuel pour griser cet appareil.","it":"Quando questa funzione è impostata su falso, dai un indizio visivo per far apparire questo dispositivo in grigio.","sv":"När den här funktionen är falsk, ge en ett visuellt tips för att gråa ut enheten.","no":"Når denne egenskapen er usann, gi et visuelt tips for å vise enheten i grått.","es":"Cuando esta capacidad es falsa, da una indicación visual para poner en gris el dispositivo.","da":"Når denne funktion er falsk, skal du give et visuelt tip for at vise enheden i grå.","ru":"Когда функция ложна, установите визуальную подсказку, чтобы выделить устройство серым цветом.","pl":"Jeśli zdolność jest nieadekwatna, użyj wizualnej wskazówki, aby wyświetlić urządzenie na szaro.","ko":"이 기능이 거짓으로 설정되면 디바이스가 회색으로 표시되어 쉽게 식별할 수 있습니다."}}},"uiComponent":"toggle","uiQuickAction":true,"$flow":{"triggers":[{"id":"onoff_true","highlight":true,"title":{"en":"Turned on","nl":"Aangezet ","de":"Angeschaltet","fr":"Activé","it":"Attivato","sv":"Aktiverad","no":"Aktivert","es":"Encendido","da":"Tændt","ru":"Включено","pl":"Włączone","ko":"켜짐"}},{"id":"onoff_false","highlight":true,"title":{"en":"Turned off","nl":"Uitgezet","de":"Ausgeschaltet","fr":"Désactivé","it":"Disattivato","sv":"Inaktiverad","no":"Deaktivert","es":"Apagado","da":"Slukket","ru":"Выключено","pl":"Wyłączone","ko":"꺼짐"}}],"conditions":[{"id":"on","title":{"en":"Is turned !{{on|off}}","nl":"Is !{{aan|uit}}","de":"Ist !{{an|aus}}","fr":"Est !{{activé|désactivé}}","it":"È !{{attivato|disattivato}}","sv":"Är !{{på|av}}","no":"Er slått !{{på|av}}","es":"Está !{{encendido|apagado}}","da":"Er !{{tændt|slukket}}","ru":"!{{Вкл.|Выкл.}}","pl":"Jest !{{włączone|wyłączone}}","ko":"이(가) !{{켜짐|꺼짐}}"}},{"id":"open","title":{"en":"Is !{{open|closed}}","nl":"Is !{{geopend|gesloten}}","de":"Ist !{{offen|geschlossen}}","fr":"Est !{{ouvert|fermé}}","it":"È !{{aperto|chiuso}}","sv":"Är !{{öppen|stängd}}","no":"Er !{{åpen|lukket}}","es":"Está !{{abierto|cerrado}}","da":"Er !{{åben|lukket}}","ru":"!{{Открыто|Закрыто}}","pl":"Jest !{{otwarte|zamknięte}}","ko":"이(가) !{{열림|닫힘}}"},"$filter":{"class":"windowcoverings|curtain|blinds|sunshade"}}],"actions":[{"id":"on","highlight":true,"title":{"en":"Turn on","nl":"Zet aan","de":"Einschalten","fr":"Activer","it":"Attiva","sv":"Aktivera","no":"Slå på","es":"Encender","da":"Tændt","ru":"Включить","pl":"Włącz","ko":"켜기"}},{"id":"off","highlight":true,"title":{"en":"Turn off","nl":"Zet uit","de":"Ausschalten","fr":"Désactiver","it":"Disattiva","sv":"Stäng av","no":"Slå av","es":"Apagar","da":"Slukket","ru":"Выключить","pl":"Wyłącz","ko":"끄기"}},{"id":"toggle","title":{"en":"Toggle on or off","nl":"Schakel aan of uit","de":"Ein- oder ausschalten","fr":"Alterner activé ou désactivé","it":"Attiva o disattiva","sv":"Växla på och av","no":"Veksle mellom på og av","es":"Encender o apagar","da":"Tænd eller sluk","ru":"Переключатель включить/выключить","pl":"Przełącz na wł. lub wył.","ko":"켬 또는 끔 토글"}},{"id":"open","title":{"en":"Open the curtain or blind","nl":"Open de gordijnen","de":"Vorhang oder Rollladen öffnen","fr":"Ouvrir le rideau ou le store","it":"Apri la tenda o le persiane","sv":"Öppna gardin eller persienn","no":"Åpne gardinen eller persiennen","es":"Abrir cortina o persiana","da":"Åbn gardiner eller persienner","ru":"Открыть штору или жалюзи","pl":"Rozchyl zasłonę lub roletę","ko":"커튼 또는 블라인드 열기"},"$filter":{"class":"windowcoverings|curtain|blinds|sunshade"}},{"id":"close","title":{"en":"Close the curtain or blind","nl":"Sluit de gordijnen","de":"Vorhang oder Rollladen schließen","fr":"Fermer le rideau ou le store","it":"Chiudi la tenda o le persiane","sv":"Stäng gardin eller persienn","no":"Trekk for gardinen eller persiennen","es":"Cerrar cortina o persiana","da":"Luk gardiner eller persienner","ru":"Закрыть штору или жалюзи","pl":"Zasuń zasłonę lub roletę","ko":"커튼 또는 블라인드 닫기"},"$filter":{"class":"windowcoverings|curtain|blinds|sunshade"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Operational state","nl":"Operationele staat","da":"Driftstilstand","it":"Stato operativo","ko":"작동 상태","pl":"Stan działania","ru":"Рабочее состояние","sv":"Drifttillstånd","es":"Estado operativo","fr":"État opérationnel","no":"Driftstilstand"},"desc":{"en":"The operational state of the appliance.","nl":"De operationele staat van het apparaat.","da":"Apparatets driftstilstand.","it":"Lo stato operativo dell\'apparecchio.","ko":"가전의 작동 상태입니다.","pl":"Stan działania urządzenia.","ru":"Рабочее состояние прибора.","sv":"Apparatens drifttillstånd.","es":"El estado operativo del dispositivo.","fr":"L\'état de fonctionnement de l\'appareil.","no":"Apparatets driftstilstand."},"values":[{"id":"stopped","title":{"en":"Stopped","nl":"Gestopt","da":"Stoppet","it":"Interrotto","ko":"중지됨","pl":"Urządzenie zatrzymane","ru":"Остановлено","sv":"Stoppad","es":"Detenido","fr":"Arrêté","no":"Stoppet"}},{"id":"running","title":{"en":"Running","nl":"Bezig","da":"Kører","it":"In esecuzione","ko":"작동 중","pl":"Urządzenie pracuje","ru":"Работает","sv":"Körs","es":"En uso","fr":"En cours d\'exécution","no":"I gang"}},{"id":"paused","title":{"en":"Paused","nl":"Gepauzeerd","da":"På pause","it":"In pausa","ko":"일시중지됨","pl":"Urządzenie wstrzymane","ru":"На паузе","sv":"Pausad","es":"En pausa","fr":"En pause","no":"På pause"}},{"id":"error","title":{"en":"Error","nl":"Fout","da":"Fejl","it":"Errore","ko":"오류","pl":"Błąd","ru":"Ошибка","sv":"Fel","es":"Error","fr":"Erreur","no":"Feil"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"operational_state_changed","highlight":true,"title":{"en":"The operational state changed to","nl":"De operationele staat is veranderd naar","da":"Driftstilstanden blev ændret til","it":"Lo stato operativo è passato a","ko":"작동 상태가 다음으로 변경됨","pl":"Stan działania zmienił się na","ru":"Рабочее состояние изменилось на","sv":"Drifttillståndet ändrades till","es":"El estado operativo ha cambiado a","fr":"L\'état opérationnel est passé à","no":"Driftstilstanden ble endret til"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"operational_state_is","title":{"en":"The operational state !{{is|is not}}","nl":"De operationele staat !{{is|is niet}}","da":"Driftstilstanden !{{er|er ikke}}","it":"Lo stato operativo !{{è|non è}}","ko":"작동 상태가 다음!{{과 같음| 아님}}","pl":"Stan działania !{{jest|nie jest}}","ru":"Рабочее состояние !{{|не}}","sv":"Drifttillståndet !{{är|är inte}}","es":"El estado operativo !{{está|no está}}","fr":"L\'état opérationnel !{{est|n\'est pas}}","no":"Driftstilstanden !{{er|er ikke}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Oscillating","nl":"Oscilleren","da":"Oscillerer","it":"Oscillante","ko":"진자","pl":"Oscylacja","ru":"Колебание","sv":"Oscillerande","es":"Oscilante","fr":"Oscillant","no":"Svingende"},"desc":{"en":"Enable or disable oscillation.","nl":"Schakel oscillatie in of uit.","da":"Aktiver eller deaktiver oscillation.","it":"Abilita o disabilita l\'oscillazione.","ko":"진자를 활성화 또는 비활성화합니다.","pl":"Włączenie lub wyłączenie oscylacji.","ru":"Включить или отключить колебание.","sv":"Aktivera eller inaktivera oscillation.","es":"Activa o desactiva la oscilación.","fr":"Active ou désactive l\'oscillation.","no":"Aktiver eller deaktiver svingninger."},"insights":true,"insightsTitleTrue":{"en":"Oscillation enabled","nl":"Oscillatie ingeschakeld","da":"Oscillation aktiveret","it":"Oscillazione abilitata","ko":"진자 활성화됨","pl":"Oscylacja włączona","ru":"Колебание включено","sv":"Oscillation aktiverad","es":"Oscilación activada","fr":"Oscillation activée","no":"Svingning aktivert"},"insightsTitleFalse":{"en":"Oscillation disabled","nl":"Oscillatie uitgeschakeld","da":"Oscillation deaktiveret","it":"Oscillazione disabilitata","ko":"진자 비활성화됨","pl":"Oscylacja wyłączona","ru":"Колебание выключено","sv":"Oscillation inaktiverad","es":"Oscilación desactivada","fr":"Oscillation désactivée","no":"Svingning deaktivert"},"getable":true,"setable":true,"uiComponent":"toggle","$flow":{"triggers":[{"id":"oscillating_true","highlight":true,"title":{"en":"Oscillation turned on","nl":"Oscillatie ingeschakeld","da":"Oscillation aktiverede","it":"Oscillazione abilitata","ko":"진자 켜짐","pl":"Oscylacja włączona","ru":"Колебание включено","sv":"Oscillation aktiverad","es":"Oscilación activada","fr":"Oscillation activée","no":"Svingning aktivert"}},{"id":"oscillating_false","title":{"en":"Oscillation turned off","nl":"Oscillatie uitgeschakeld","da":"Oscillation deaktiverede","it":"Oscillazione disabilitata","ko":"진자 꺼짐","pl":"Oscylacja wyłączona","ru":"Колебание выключено","sv":"Oscillation inaktiverad","es":"Oscilación desactivada","fr":"Oscillation désactivée","no":"Svingning deaktivert"}}],"conditions":[{"id":"oscillating","title":{"en":"Oscillation is !{{enabled|disabled}}","nl":"Oscillatie is !{{ingeschakeld|uitgeschakeld}}","da":"Oscillation er !{{aktiveret|deaktiveret}}","it":"L\'oscillazione è !{{abilitata|disabilitata}}","ko":"진자 !{{활성화됨|비활성화됨}}","pl":"Oscylacja jest !{{włączona|wyłączona}}","ru":"Колебание !{{включено|выключено}}","sv":"Oscillation är !{{aktiverad|inaktiverad}}","es":"La oscilación está !{{activada|desactivada}}","fr":"L\'oscillation est !{{activée|désactivée}}","no":"Svingning er !{{aktivert|deaktivert}}"}}],"actions":[{"id":"enable_oscillating","title":{"en":"Enable Oscillation","nl":"Oscillatie inschakelen","da":"Aktiver oscillation","it":"Abilita l\'oscillazione","ko":"진자 활성화","pl":"Włącz oscylację","ru":"Включить колебание","sv":"Aktivera oscillation","es":"Activar oscilación","fr":"Activer l\'oscillation","no":"Aktiver svingning"}},{"id":"disable_oscillating","title":{"en":"Disable Oscillation","nl":"Oscillatie uitschakelen","da":"Deaktiver oscillation","it":"Disabilita l\'oscillazione","ko":"진자 비활성화","pl":"Wyłącz oscylację","ru":"Отключить колебание","sv":"Inaktivera oscillation","es":"Desactivar oscilación","fr":"Désactiver l\'oscillation","no":"Deaktiver svingning"}},{"id":"toggle_oscillating","title":{"en":"Toggle Oscillation on or off","nl":"Oscillatie aan- of uitzetten","da":"Slå oscillation til eller fra","it":"Abilita o disabilita l\'oscillazione","ko":"진자 켬 또는 끔 토글","pl":"Przełącz oscylację między wł / wył","ru":"Включить или выключить колебание","sv":"Aktivera eller inaktivera oscillation","es":"Encender o apagar la oscilación","fr":"Activer ou désactiver l\'oscillation","no":"Slå svingning på eller av"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Pump mode","nl":"Pompmodus","da":"Pumpetilstand","it":"Modalità pompa","ko":"펌프 모드","pl":"Tryb pompy","ru":"Режим работы насоса","sv":"Pumpläge","es":"Modo bombeo","fr":"Mode de pompage","no":"Pumpemodus"},"desc":{"en":"Used to set which setpoint regulates the pump.","nl":"Wordt gebruikt om in te stellen welk setpoint de pomp regelt.","da":"Bruges til at indstille, hvilket indstillingspunkt der regulerer pumpen.","it":"Serve per impostare il setpoint che regola la pompa.","ko":"펌프를 조절하는 설정값을 설정하는 데 사용됩니다.","pl":"Służy do ustawiania wartości zadanej regulującej pompę.","ru":"Используется для выбора уставки, регулирующей работу насоса.","sv":"Används för att ställa in vilket börvärde som reglerar pumpen.","es":"Sirve para establecer qué valor regula el bombeo.","fr":"Permet de définir le point de réglage qui régule la pompe.","no":"Brukes til å innstille hvilket settepunkt som skal regulere pumpen."},"values":[{"id":"constant_pressure","title":{"en":"Constant Pressure","nl":"Constante druk","da":"Konstant tryk","it":"Pressione costante","ko":"일정 압력","pl":"Stałe ciśnienie","ru":"Постоянное давление","sv":"Konstant tryck","es":"Presión constante","fr":"Pression constante","no":"Konstant trykk"}},{"id":"compensated_pressure","title":{"en":"Compensated Pressure","nl":"Gecompenseerde druk","da":"Kompenseret tryk","it":"Pressione compensata","ko":"보상 압력","pl":"Kompensowane ciśnienie","ru":"Компенсированное давление","sv":"Kompenserat tryck","es":"Presión compensada","fr":"Pression compensée","no":"Kompensert trykk"}},{"id":"constant_flow","title":{"en":"Constant Flow","nl":"Constante Flow","da":"Konstant Flow","it":"Flow costante","ko":"일정 유량","pl":"Stały przepływ","ru":"Постоянный Flow","sv":"Konstant Flow","es":"Flow constante","fr":"Flow constant","no":"Konstant Flow"}},{"id":"constant_speed","title":{"en":"Constant Speed","nl":"Constante snelheid","da":"Konstant hastighed","it":"Velocità costante","ko":"일정 속도","pl":"Stała prędkość","ru":"Постоянная скорость","sv":"Konstant hastighet","es":"Velocidad constante","fr":"Vitesse constante","no":"Konstant hastighet"}},{"id":"constant_temperature","title":{"en":"Constant Temperature","nl":"Constante temperatuur","da":"Konstant temperatur","it":"Temperatura costante","ko":"일정 온도","pl":"Stała temperatura","ru":"Постоянная температура","sv":"Konstant temperatur","es":"Temperatura constante","fr":"Température constante","no":"Konstant temperatur"}},{"id":"automatic","title":{"en":"Automatic","nl":"Automatisch","da":"Automatisk","es":"Automático","fr":"Automatique","it":"Automatico","ko":"자동","no":"Automatisk","pl":"Automatyczny","ru":"Автоматический","sv":"Automatisk"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"pump_mode_changed","highlight":true,"title":{"en":"The pump mode changed to","nl":"De pompmodus is veranderd naar","da":"Pumpetilstanden blev ændret til","it":"La modalità della pompa è passata a","ko":"펌프 모드가 다음으로 변경됨","pl":"Tryb pompy zmienił się na","ru":"Режим работы насоса изменен на","sv":"Pumpläget ändrades till","es":"El modo bombeo ha cambiado a","fr":"Le mode de pompage est passé à","no":"Pumpemodus ble endret til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"pump_mode_is","title":{"en":"The pump mode !{{is|is not}}","nl":"De pompmodus !{{is|is niet}}","da":"Pumpetilstanden !{{er|er ikke}}","it":"La modalità pompa !{{è|non è}}","ko":"펌프 모드가 다음!{{과 같음| 아님}}","pl":"Tryb pompy !{{jest|nie jest}}","ru":"Режим работы насоса !{{|не}}","sv":"Pumpens läge !{{är|är inte}}","es":"El modo bombeo !{{es|no es}}","fr":"Le mode de pompage !{{est|n\'est pas}}","no":"Pumpemodusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_pump_mode","title":{"en":"Set the pump mode","nl":"De pompmodus instellen","da":"Indstil pumpetilstand","it":"Imposta la modalità della pompa","ko":"펌프 모드 설정","pl":"Ustaw trybu pompy","ru":"Установить режим работы насоса","sv":"Ställ in pumpläge","es":"Configurar el modo bombeo","fr":"Définir le mode de pompage","no":"Angi pumpemodus"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Pump setpoint","nl":"Setpoint van de pomp","da":"Pumpens indstillingspunkt","it":"Setpoint della pompa","ko":"펌프 설정값","pl":"Wartość zadana pompy","ru":"Уставка насоса","sv":"Börvärde för pump","es":"Valor de ajuste del bombeo","fr":"Point de réglage de la pompe","no":"Pumpens settepunkt"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The pump setpoint in percentage.","nl":"Het setpoint van de pomp in procenten.","da":"Pumpens indstillingspunkt i procent.","it":"Il setpoint della pompa in percentuale.","ko":"백분율로 표현된 펌프 설정값입니다.","pl":"Wartość zadana pompy w procentach.","ru":"Уставка насоса в процентах.","sv":"Pumpens börvärde i procent.","es":"El valor de ajuste del bombeo en porcentaje.","fr":"Le point de réglage de la pompe en pourcentage.","no":"Pumpens settepunkt i prosent."},"insights":true,"chartType":"spline","min":0,"max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"pump_setpoint_changed","title":{"en":"The pump setpoint changed","nl":"Het setpoint van de pomp is veranderd","da":"Pumpens indstillingspunkt ændrede sig","it":"Il setpoint della pompa è cambiato","ko":"펌프 설정값 변경됨","pl":"Zmieniła się wartość zadana pompy","ru":"Уставка насоса изменена","sv":"Pumpens börvärde ändrades","es":"El valor de ajuste del bombeo ha cambiado","fr":"Le point de réglage de la pompe a changé","no":"Pumpens settpunkt ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_pump_setpoint","title":{"en":"Set the pump setpoint","nl":"Het setpoint van de pomp instellen","da":"Indstil pumpens indstillingspunkt","it":"Imposta il setpoint della pompa","ko":"펌프 설정값 설정","pl":"Ustaw wartość zadaną pompy","ru":"Определить уставку насоса","sv":"Ställ in pumpens börvärde","es":"Configurar el valor de ajuste del bombeo","fr":"Définir le point de réglage de la pompe","no":"Angi pumpens settepunkt"},"args":[{"name":"pump_setpoint","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Refrigerator Mode","nl":"Koelkastmodus","da":"Køleskabstilstand","it":"Modalità frigorifero","ko":"냉장고 모드","pl":"Tryb lodówki","ru":"Режим холодильника","sv":"Kylskåpsläge","es":"Modo del frigorífico","fr":"Mode du réfrigérateur","no":"Kjøleskapsmodus"},"desc":{"en":"The mode of the refrigerator.","nl":"De modus van de koelkast.","da":"Køleskabets tilstand.","it":"La modalità del frigorifero.","ko":"냉장고의 모드입니다.","pl":"Tryb pracy lodówki.","ru":"Режим работы холодильника.","sv":"Läget för kylskåpet.","es":"El modo del frigorífico.","fr":"Le mode de fonctionnement du réfrigérateur.","no":"Kjøleskapets modus."},"values":[{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalny","ru":"Нормальный","sv":"Normal","es":"Normal","fr":"Normal","no":"Normal"}},{"id":"rapid_cooling","title":{"en":"Rapid Cooling","nl":"Snel koelen","da":"Hurtig afkøling","it":"Raffreddamento rapido","ko":"신속 쿨링","pl":"Szybkie chłodzenie","ru":"Быстрое охлаждение","sv":"Snabbkylning","es":"Enfriado rápido","fr":"Refroidissement rapide","no":"Hurtigavkjøling"}},{"id":"rapid_freezing","title":{"en":"Rapid Freezing","nl":"Snel vriezen","da":"Hurtig nedfrysning","it":"Congelamento rapido","ko":"신속 냉동","pl":"Szybkie zamrażanie","ru":"Быстрая заморозка","sv":"Snabbfrysning","es":"Congelación rápida","fr":"Congélation rapide","no":"Hurtigfrysing"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"refrigerator_mode_changed","highlight":true,"title":{"en":"The mode changed to","nl":"De modus is veranderd in","da":"Tilstanden ændrede sig til","it":"La modalità è passata a","ko":"모드가 다음으로 변경됨","pl":"Tryb zmienił się na","ru":"Режим изменен на","sv":"Läget ändrades till","es":"El modo ha cambiado a","fr":"Le mode est passé à","no":"Modusen ble endret til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"refrigerator_mode_is","title":{"en":"The mode !{{is|is not}}","nl":"De modus !{{is|is niet}}","da":"Tilstanden !{{er|er ikke}}","it":"La modalità !{{è|non è}}","ko":"모드가 다음!{{과 같음| 아님}}","pl":"Tryb !{{jest|nie jest}}","ru":"Режим !{{|не}}","sv":"Läget !{{är|är inte}}","es":"El modo !{{está|no está}}","fr":"Le mode !{{est|n\'est pas}}","no":"Modusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_refrigerator_mode","title":{"en":"Set the mode to","nl":"De modus instellen op","da":"Indstil tilstanden til","it":"Imposta la modalità su","ko":"모드를 다음으로 설정","pl":"Ustaw tryb na","ru":"Установить режим на","sv":"Ställ in läget på","es":"Ajustar el modo en","fr":"Définir le mode sur","no":"Sett modusen til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Album","nl":"Album","de":"Album","fr":"Album","it":"Album","sv":"Album","no":"Album","es":"Álbum","da":"Album","ru":"Альбом","pl":"Album","ko":"앨범"},"type":"string","getable":true,"setable":false,"uiComponent":"media","$flow":{"triggers":[{"id":"speaker_album_changed","title":{"en":"The album changed","nl":"Het album is veranderd","de":"Das Album hat sich geändert","fr":"L\'album a été modifié","it":"L\'album è cambiato","sv":"Albumet ändrades","no":"Albumet ble endret","es":"El álbum ha cambiado","da":"Albummet skiftede","ru":"Альбом изменен","pl":"Zmiana albumu","ko":"앨범 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":"Life Lessons"}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Artist","nl":"Artiest","de":"Künstler","fr":"Artiste","it":"Artista","sv":"Artist","no":"Artist","es":"Artista","da":"Kunstner","ru":"Исполнитель","pl":"Wykonawca","ko":"아티스트"},"type":"string","getable":true,"setable":false,"uiComponent":"media","$flow":{"triggers":[{"id":"speaker_artist_changed","title":{"en":"The artist changed","nl":"De artiest is veranderd","de":"Der Künstler hat sich verändert","fr":"L\'artiste a été modifié","it":"L\'artista è cambiato","sv":"Artisten ändrades","no":"Artisten ble endret","es":"El artista ha cambiado","da":"Kunstneren skiftede","ru":"Исполнитель изменен","pl":"Zmiana wykonawcy","ko":"아티스트 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":"Johnny S."}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Duration","nl":"Lengte","de":"Länge","fr":"Durée","it":"Durata","sv":"Längd","no":"Varighet","es":"Duración","da":"Varighed","ru":"Продолжительность","pl":"Czas trwania","ko":"기간"},"type":"number","getable":true,"setable":false,"uiComponent":"media"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Next","nl":"Volgende","de":"Weiter","fr":"Suivant","it":"Successivo","sv":"Nästa","no":"Neste","es":"Siguiente","da":"Næste","ru":"Дальше","pl":"Dalej","ko":"다음"},"type":"boolean","getable":false,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"next","title":{"en":"Next","nl":"Volgende","de":"Weiter","fr":"Suivant","it":"Successivo","sv":"Nästa","no":"Neste","es":"Siguiente","da":"Næste","ru":"Дальше","pl":"Dalej","ko":"다음"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Playing","nl":"Afspelen","de":"Abspielen","fr":"Lire","it":"In riproduzione","sv":"Spelas","no":"Avspilles","es":"Reproduciendo","da":"Spiller","ru":"Воспроизведение","pl":"Odtwarzanie","ko":"재생 중"},"type":"boolean","getable":true,"setable":true,"uiComponent":"media","uiQuickAction":true,"$flow":{"triggers":[{"id":"speaker_playing_true","title":{"en":"Started playing","nl":"Begint af te spelen","de":"Begann zu spielen","fr":"Lecture démarrée","it":"Riproduzione avviata","sv":"Började spela","no":"Startet spilling","es":"Reproducción iniciada","da":"Begyndte at spille","ru":"Воспроизведение началось","pl":"Odtwarzanie rozpoczęte","ko":"재생 시작됨"}},{"id":"speaker_playing_false","title":{"en":"Stopped playing","nl":"Gestopt met afspelen","de":"Hörte auf zu spielen","fr":"Lecture stoppée","it":"Riproduzione interrotta","sv":"Slutade spela","no":"Stanset spilling","es":"Reproducción detenida","da":"Stoppede med at spille","ru":"Воспроизведение приостановлено","pl":"Odtwarzanie zatrzymane","ko":"재생 중지됨"}}],"conditions":[{"id":"is_playing","title":{"en":"Is !{{|not}} playing","nl":"Is !{{|niet}} aan het afspelen","de":"Wird !{{|nicht}} abgespielt","fr":"!{{Est|N\'est pas}} en cours de lecture","it":"!{{È|Non è}} in riproduzione","sv":"Spelas !{{|inte}}","no":"Avspilles !{{|ikke}}","es":"!{{Se está|No se está}} reproduciendo","da":"Spiller !{{|ikke}}","ru":"!{{|не}} воспроизводится","pl":"!{{odtwarza|nie odtwarza}}","ko":"이(가) 재생 중!{{임| 아님}}"}}],"actions":[{"id":"play","highlight":true,"title":{"en":"Play","nl":"Speel af","de":"Play","fr":"Lire","it":"Riproduci","sv":"Spela","no":"Spill av","es":"Reproducir","da":"Afspil","ru":"Воспроизвести","pl":"Odtwórz","ko":"재생"}},{"id":"pause","highlight":true,"title":{"en":"Pause","nl":"Pauzeer","de":"Pause","fr":"Pause","it":"Pausa","sv":"Pausa","no":"Pause","es":"Pausa","da":"Pause","ru":"Пауза","pl":"Pauza","ko":"일시중지"}},{"id":"toggle_playing","title":{"en":"Toggle Play/Pause","nl":"Toggle Afspelen/Pauze","de":"Play/Pause umschalten","fr":"Alterner Lire/Pause","it":"Alterna riproduzione/pausa","sv":"Växla spela/pausa","no":"Veksle mellom avspilling/pause","es":"Reproducir o pausar","da":"Skift mellem Afspil/Pause","ru":"Переключатель Воспроизвести/Пауза","pl":"Przełącz na Odtwórz/Pauza","ko":"재생/일시중지 토글"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Position","nl":"Positie","de":"Position","fr":"Position","it":"Posizione","sv":"Position","no":"Posisjon","es":"Posición","da":"Position","ru":"Позиция","pl":"Pozycja","ko":"위치"},"type":"number","getable":true,"setable":false,"uiComponent":"media"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Previous","nl":"Vorige","de":"Zurück","fr":"Précédent","it":"Precedente","sv":"Föregående","no":"Forrige","es":"Anterior","da":"Forrige","ru":"Назад","pl":"Wróć","ko":"이전"},"type":"boolean","getable":false,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"prev","title":{"en":"Previous","nl":"Vorige","de":"Zurück","fr":"Précédent","it":"Precedente","sv":"Föregående","no":"Forrige","es":"Anterior","da":"Forrige","ru":"Назад","pl":"Wróć","ko":"이전"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Repeat","nl":"Herhalen","de":"Wiederholen","fr":"Répéter","it":"Ripeti","sv":"Upprepa","no":"Gjenta","es":"Repetir","da":"Gentag","ru":"Повторить","pl":"Powtórz","ko":"반복"},"type":"enum","values":[{"id":"none","title":{"en":"Off","nl":"Uit","de":"Aus","fr":"Arrêt","it":"Spegni","sv":"Av","no":"Av","es":"Apagar","da":"Fra","ru":"выкл","pl":"wył","ko":"끔"}},{"id":"track","title":{"en":"Repeat Track","de":"Titel wiederholen","fr":"Répéter le titre","it":"Ripeti traccia","sv":"Upprepa spår","no":"Gjenta spor","es":"Repetir pista","da":"Gentag spor","ru":"Повторить трек","pl":"Powtórz utwór","ko":"트랙 반복"}},{"id":"playlist","title":{"en":"Repeat Playlist","de":"Playlist wiederholen","fr":"Répéter la playlist","it":"Ripeti playlist","sv":"Upprepa spellista","no":"Gjenta spilleliste","es":"Repetir lista de reproducción","da":"Gentag afspilningsliste","ru":"Повторить плейлист","pl":"Powtórz składankę","ko":"재생목록 반복"}}],"getable":true,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"set_repeat","title":{"en":"Repeat","de":"Wiederholen","fr":"Répéter","it":"Ripeti","sv":"Upprepa","no":"Gjenta","es":"Repetir","da":"Gentag","ru":"Повторить","pl":"Powtórz","ko":"반복"},"args":[{"name":"value","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Shuffle","nl":"Shuffle","de":"Zufallswiedergabe","fr":"Aléatoire","it":"Ordine casuale","sv":"Blanda","no":"Tilfeldig rekkefølge","es":"Aleatorio","da":"Shuffle","ru":"В случайном порядке","pl":"Odtwarzaj losowo","ko":"셔플"},"type":"boolean","getable":true,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"set_shuffle_true","title":{"en":"Shuffle on","nl":"Shuffle aan","de":"Zufallswiedergabe an","fr":"Aléatoire activée","it":"Ordine casuale attivato","sv":"Blanda på","no":"Tilfeldig rekkefølge på","es":"Orden aleatorio activado","da":"Shufflet slået til","ru":"В случайном порядке","pl":"Włącz odtwarzanie losowe","ko":"셔플 켬"}},{"id":"set_shuffle_false","title":{"en":"Shuffle off","nl":"Shuffle uit","de":"Zufallswiedergabe aus","fr":"Aléatoire désactivée","it":"Ordine casuale disattivato","sv":"Blanda av","no":"Tilfeldig rekkefølge av","es":"Orden aleatorio desactivado","da":"Shuffle slået fra","ru":"По порядку","pl":"Wyłącz odtwarzanie losowe","ko":"셔플 끔"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Stop","nl":"Stop","da":"Stop","it":"Stop","ko":"중지","pl":"Zatrzymaj","ru":"Остановить","sv":"Stopp","es":"Detener","fr":"Arrêter","no":"Stopp"},"type":"boolean","getable":false,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"stop","title":{"en":"Stop","nl":"Stop","da":"Stop","it":"Stop","ko":"중지","pl":"Zatrzymaj","ru":"Остановить","sv":"Stopp","es":"Detener","fr":"Arrêter","no":"Stopp"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Track","nl":"Track","de":"Track","fr":"Titre","it":"Traccia","sv":"Spår","no":"Spor","es":"Pista","da":"Spor","ru":"Трек","pl":"Utwór","ko":"트랙"},"type":"string","getable":true,"setable":false,"uiComponent":"media","$flow":{"triggers":[{"id":"speaker_track_changed","title":{"en":"The track changed","nl":"De track is veranderd","de":"Der Track hat sich geändert","fr":"Le titre a été modifié","it":"La traccia è cambiata","sv":"Spåret ändrades","no":"Sporet ble endret","es":"La pista ha cambiado","da":"Sporet skiftede","ru":"Трек изменен","pl":"Zmiana utworu","ko":"트랙 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":"My World"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Swing mode","nl":"Zwenkmodus","da":"Svingtilstand","it":"Modalità oscillazione","ko":"스윙 모드","pl":"Tryb wahania","ru":"Режим поворота","sv":"Svängläge","es":"Modo oscilante","fr":"Mode de balancement","no":"Svingmodus"},"values":[{"id":"vertical","title":{"en":"Vertical","nl":"Verticaal","da":"Lodret","it":"Verticale","ko":"상하","pl":"Pionowe","ru":"Вертикальный","sv":"Vertikalt","es":"Vertical","fr":"Vertical","no":"Vertikal"}},{"id":"horizontal","title":{"en":"Horizontal","nl":"Horizontaal","da":"Vandret","it":"Orizzontale","ko":"좌우","pl":"Poziome","ru":"Горизонтальный","sv":"Horisontellt","es":"Horizontal","fr":"Horizontal","no":"Horisontal"}},{"id":"both","title":{"en":"Both","nl":"Beide","da":"Begge","it":"Entrambi","ko":"상하좌우","pl":"Oba","ru":"Оба","sv":"Båda","es":"Ambos","fr":"Les deux","no":"Begge"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"swing_mode_changed","title":{"en":"Swing mode has changed to","nl":"Zwenkmodus is veranderd in","da":"Svingtilstanden har ændret sig til","it":"La modalità oscillazione è cambiata","ko":"스윙 모드가 다음으로 변경됨","no":"Svingmodus er endret til","pl":"Tryb wahania zmienił się na","ru":"Режим поворота изменен","sv":"Svängläget har ändrats till","es":"El modo de giro ha cambiado a","fr":"Le mode de balancement a changé"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"swing_mode_is","title":{"en":"Swing mode !{{is|is not}}","nl":"Zwenkmodus !{{is|is niet}}","da":"Svingtilstand !{{er|er ikke}}","it":"La modalità swing !{{è|non è}}","ko":"스윙 모드가 다음!{{과 같음| 아님}}","pl":"Tryb wahania !{{jest|nie jest}}","ru":"Режим поворота !{{|не}}","sv":"Svängläge !{{är|är inte}}","es":"El modo de oscilación !{{es|no es}}","fr":"Le mode de balancement !{{est|n\'est pas}}","no":"Svingmodus !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_swing_mode","title":{"en":"Set swing mode to","nl":"Zwenkmodus instellen op","da":"Indstil svingtilstand til","it":"Imposta la modalità swing su","ko":"스윙 모드를 다음으로 설정","pl":"Ustaw tryb wahania na","ru":"Установить режим поворота на","sv":"Ställ in svängläge till","es":"Ajustar el modo de oscilación en","fr":"Définir le mode de balancement sur","no":"Sett svingmodus til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Target Humidity","nl":"Gewenste luchtvochtigheid","da":"Luftfugtighedsmål","it":"Umidità target","ko":"목표 습도","pl":"Docelowa wilgotność","ru":"Заданная влажность","sv":"Målfuktighet","es":"Humedad deseada","fr":"Humidité cible","no":"Ønsket fuktighet"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The target humidity level in percent.","nl":"Het gewenste vochtigheidsniveau in procenten.","da":"Den ønskede luftfugtighed i procent.","it":"Il livello di umidità target in percentuale.","ko":"백분율로 표현된 목표 습도 수준입니다.","pl":"Docelowy poziom wilgotności w procentach.","ru":"Заданный уровень влажности в процентах.","sv":"Den önskade luftfuktighetsnivån i procent.","es":"El nivel de humedad deseado en porcentaje.","fr":"Le taux d\'humidité cible en pourcentage.","no":"Ønsket fuktighetsnivå i prosent."},"min":0,"max":1,"decimals":2,"insights":true,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_humidity_changed","title":{"en":"The target humidity changed","nl":"De gewenste vochtigheid is veranderd","da":"Målfugtigheden ændrede sig","it":"L\'umidità target è cambiata","ko":"목표 습도","pl":"Zmieniła się docelowa wilgotność","ru":"Заданная влажность изменена","sv":"Den önskade luftfuktigheten ändrades","es":"La humedad deseada ha cambiado","fr":"L\'humidité cible a changé","no":"Ønsket fuktighet ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_target_humidity","title":{"en":"Set the humidity","nl":"De vochtigheid instellen","da":"Indstil luftfugtigheden","it":"Imposta l\'umidità","ko":"습도 설정","pl":"Ustaw wilgotność","ru":"Установить уровень влажности","sv":"Ställ in luftfuktigheten","es":"Ajustar la humedad","fr":"Définir l\'humidité","no":"Angi fuktigheten"},"args":[{"name":"target_humidity","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Maximum target humidity","nl":"Maximale gewenste vochtigheid","da":"Maksimal målfugtighed","it":"Umidità target massima","ko":"최대 목표 습도","pl":"Maksymalna docelowa wilgotność","ru":"Максимальная заданная влажность","sv":"Maximal målfuktighet","es":"Humedad máxima deseada","fr":"Humidité cible maximale","no":"Maksimum ønsket fuktighet"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The high end of the target humidity level in percent.","nl":"De hoogste waarde van het gewenste vochtigheidsniveau in procenten.","da":"Den høje ende af den ønskede luftfugtighed i procent.","it":"Il massimo livello di umidità target in percentuale.","ko":"백분율로 표현한 목표 습도의 최대치입니다.","pl":"Górna granica docelowego poziomu wilgotności w procentach.","ru":"Верхний предел заданного уровня влажности в процентах.","sv":"Den övre delen av den önskade luftfuktighetsnivån i procent.","es":"El valor superior del nivel de humedad deseada en porcentaje.","fr":"Le niveau maximal de l\'humidité cible en pourcentage.","no":"Maksimum ønsket fuktighetsnivå i prosent."},"insights":true,"chartType":"stepLine","decimals":2,"min":0,"max":1,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_humidity_max_changed","title":{"en":"The maximum target humidity has changed","nl":"De maximale gewenste vochtigheid is veranderd","da":"Den maksimale målfugtighed er ændret","it":"L\'umidità target massima è cambiata","ko":"최대 목표 습도 변경됨","no":"Maksimum ønsket fuktighet er endret","pl":"Zmieniła się maksymalna docelowa wilgotność","ru":"Максимальная заданная влажность изменена","sv":"Den högsta önskade luftfuktigheten har ändrats","es":"La humedad máxima deseada ha cambiado","fr":"L\'humidité cible maximale a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_target_humidity_max","title":{"en":"Set the maximum target humidity","nl":"De maximale gewenste vochtigheid instellen","da":"Indstil den maksimale målfugtighed","it":"Imposta l\'umidità target massima","ko":"최대 목표 습도 설정","pl":"Ustaw maksymalną docelową wilgotność","ru":"Установить максимальную заданную влажность","sv":"Ställ in den högsta önskade luftfuktigheten","es":"Ajustar la humedad máxima deseada","fr":"Définir l\'humidité cible maximale","no":"Angi maksimum ønsket fuktighet"},"args":[{"name":"target_humidity_max","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Minimum target humidity","nl":"Minimale gewenste vochtigheid","da":"Minimum målfugtighed","it":"Umidità target minima","ko":"최소 목표 습도","pl":"Minimalna docelowa wilgotność","ru":"Минимальная заданная влажность","sv":"Lägsta önskade luftfuktighet","es":"Humedad mínima deseada","fr":"Humidité cible minimale","no":"Minimum ønsket fuktighet"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The low end of the target humidity level in percent.","nl":"Het laagste niveau van de gewenste vochtigheid in procenten.","da":"Den lave ende af den ønskede luftfugtighed i procent.","it":"Il livello minimo di umidità target in percentuale.","ko":"백분율로 표현한 목표 습도의 최소치입니다.","pl":"Dolna granica docelowego poziomu wilgotności w procentach.","ru":"Нижний предел заданного уровня влажности в процентах.","es":"El valor inferior del nivel de humedad objetivo en porcentaje.","fr":"Le niveau minimal d\'humidité cible en pourcentage.","no":"Minimum ønsket fuktighetsnivå i prosent."},"insights":true,"chartType":"stepLine","decimals":2,"min":0,"max":1,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_humidity_min_changed","title":{"en":"The minimum target humidity has changed","nl":"De minimale gewenste vochtigheid is veranderd","da":"Minimum målfugtighed er ændret","it":"L\'umidità target minima è cambiata","ko":"최소 목표 습도 변경됨","no":"Minimum ønsket fuktighet er endret","pl":"Zmieniła się minimalna docelowa wilgotność","ru":"Минимальная заданная влажность изменена","sv":"Den lägsta önskade luftfuktigheten har ändrats","es":"La humedad mínima deseada ha cambiado","fr":"L\'humidité minimale cible a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}],"actions":[{"id":"set_target_humidity_min","title":{"en":"Set the minimum target humidity","nl":"De minimale gewenste vochtigheid instellen","da":"Indstil minimum målfugtighed","it":"Imposta l\'umidità target minima","ko":"최소 목표 습도 설정","pl":"Ustaw minimalną docelową wilgotność","ru":"Установить минимальную заданную влажность","sv":"Ställ in lägsta önskade luftfuktighet","es":"Ajustar la humedad mínima deseada","fr":"Définir l\'humidité minimale cible","no":"Angi minimum ønsket fuktighet"},"args":[{"name":"target_humidity_min","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","min":4,"max":35,"title":{"en":"Target temperature","nl":"Ingestelde temperatuur","de":"Ziel-Temperatur","fr":"Température cible","it":"Temperatura nominale","sv":"Måltemperatur","no":"Ønsket temperatur","es":"Temperatura deseada","da":"Måltemperatur","ru":"Целевая температура","pl":"Cel temperatury","ko":"목표 온도"},"units":{"en":"°C","ru":"°C","ko":"°C","no":"°C"},"chartType":"stepLine","decimals":1,"insights":true,"getable":true,"setable":true,"uiComponent":"thermostat","$flow":{"triggers":[{"id":"target_temperature_changed","title":{"en":"The target temperature changed","nl":"De ingestelde temperatuur is veranderd","de":"Die Ziel-Temperatur hat sich geändert","fr":"La température cible a été modifiée","it":"La temperatura nominale è cambiata","sv":"Måltemperaturen ändrades","no":"Ønsket temperatur ble endret","es":"La temperatura deseada ha cambiado","da":"Måltemperaturen blev ændret","ru":"Целевая температура изменена","pl":"Zmiana celu temperatury","ko":"목표 온도 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":23.5}]}],"actions":[{"id":"target_temperature_set","highlight":true,"title":{"en":"Set the temperature","nl":"Stel de temperatuur in","de":"Die Temperatur setzen","fr":"Définir la température","it":"Imposta la temperatura","sv":"Ställ in temperaturen","no":"Innstill temperaturen","es":"Ajustar la temperatura","da":"Indstil temperaturen","ru":"Установить температуру","pl":"Ustaw temperaturę","ko":"온도 설정"},"args":[{"name":"target_temperature","type":"range","min":5,"max":40,"step":0.5,"label":"°C","labelDecimals":1}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Target temperature level","nl":"Gewenst temperatuurniveau","da":"Måltemperaturniveau","it":"Livello di temperatura target","ko":"목표 온도 수준","pl":"Docelowy poziom temperatury","ru":"Уровень заданной температуры","sv":"Nivå för önskad temperatur","es":"Nivel de temperatura deseado","fr":"Niveau de température cible","no":"Ønsket temperaturnivå"},"desc":{"en":"The target temperature level of the appliance.","nl":"Het gewenste temperatuurniveau van het apparaat.","da":"Apparatets måltemperaturniveau.","it":"Il livello di temperatura target dell\'apparecchio.","ko":"가전의 목표 온도 수준입니다.","pl":"Docelowy poziom temperatury urządzenia.","ru":"Уровень заданной температуры прибора.","sv":"Apparatens önskade temperaturnivå.","es":"El nivel de temperatura deseado del dispositivo.","fr":"Le niveau de température cible de l\'appareil.","no":"Ønsket temperaturnivå for apparatet."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lav","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"중간","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Høj","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"target_temperature_level_changed","highlight":true,"title":{"en":"The target temperature level changed to","nl":"Het gewenste temperatuurniveau is veranderd naar","da":"Måltemperaturniveauet ændret til","it":"Il livello di temperatura target è passato a","ko":"목표 온도 수준이 다음으로 변경됨","pl":"Docelowy poziom temperatury zmienił się na","ru":"Уровень заданной температуры изменен на","sv":"Den önskade temperaturnivån ändrades till","es":"El nivel de temperatura deseado ha cambiado a","fr":"Le niveau de température cible est passé à","no":"Ønsket temperaturnivå ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"target_temperature_level_is","title":{"en":"The target temperature level !{{is|is not}}","nl":"Het gewenste temperatuurniveau !{{is|is niet}}","da":"Måltemperaturniveauet !{{er|er ikke}}","it":"Il livello di temperatura target !{{è|non è}}","ko":"목표 온도 수준이 다음!{{과 같음| 아님}}","pl":"Docelowy poziom temperatury !{{jest|nie jest}}","ru":"Заданный уровень температуры !{{|не}}","sv":"Den önskade temperaturnivån !{{är|är inte}}","es":"El nivel de temperatura deseado !{{es|no es}}","fr":"Le niveau de température cible !{{est|n\'est pas}}","no":"Ønsket temperaturnivå !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_target_temperature_level","title":{"en":"Set the target temperature level to","nl":"Het doeltemperatuurniveau instellen op","da":"Indstil måltemperaturniveauet til","it":"Imposta il livello di temperatura target su","ko":"목표 온도 수준을 다음으로 설정","pl":"Ustaw docelowy poziom temperatury na","ru":"Установить уровень заданной температуры на","sv":"Ställ in önskad temperaturnivå till","es":"Ajustar el nivel de temperatura deseado a","fr":"Définir le niveau de température cible sur","no":"Sett ønsket temperaturnivå til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Maximum target temperature","nl":"Maximale gewenste temperatuur","da":"Maksimal måltemperatur","it":"Temperatura target massima","ko":"최대 목표 온도","pl":"Maksymalna docelowa tempertura","ru":"Максимальная заданная температура","sv":"Maximal måltemperatur","es":"Temperatura máxima deseada","fr":"Température cible maximale","no":"Maksimum ønsket temperatur"},"units":{"en":"°C","nl":"°C","da":"°C","it":"°C","ko":"°C","pl":"°C","ru":"°C","sv":"°C","es":"°C","fr":"°C","no":"°C"},"desc":{"en":"The high end of the temperature setpoint in degrees Celsius.","nl":"De bovengrens van het instelpunt voor temperatuur in graden Celsius.","da":"Den høje ende af temperaturindstillingspunktet i Celsius.","it":"Il setpoint massimo di temperatura in gradi Celsius.","ko":"섭씨 도 단위의 온도 설정값 최대치입니다.","pl":"Górna granica wartości zadanej temperatury w stopniach Celsjusza.","ru":"Верхний предел заданной температуры в градусах Цельсия.","sv":"Den övre delen av temperaturbörvärdet i grader Celsius.","es":"El valor superior de ajuste de la temperatura en grados centígrados.","fr":"Le niveau maximal de la température en degrés Celsius.","no":"Maksimum ønsket temperaturinnstilling i grader Celsius."},"insights":true,"chartType":"stepLine","decimals":2,"min":4,"max":35,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_temperature_max_changed","title":{"en":"The maximum target temperature has changed","nl":"De maximale gewenste temperatuur is veranderd","da":"Den maksimale måltemperatur har ændret sig","it":"La temperatura target massima è cambiata","ko":"최대 목표 온도 변경됨","no":"Maksimum ønsket temperatur er endret","pl":"Zmieniła się maksymalna temperatura docelowa","ru":"Максимальная заданная температура изменена","sv":"Den maximala måltemperaturen har ändrats","es":"La temperatura máxima deseada ha cambiado","fr":"La température maximale cible a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}],"actions":[{"id":"set_target_temperature_max","title":{"en":"Set the maximum target temperature","nl":"De maximale gewenste temperatuur instellen","da":"Indstil den maksimale måltemperatur","it":"Imposta la temperatura target massima","ko":"최대 목표 온도 설정","pl":"Ustaw maksymalną temperaturę docelową","ru":"Установить максимальную заданную температуру","sv":"Ställ in den maximala måltemperaturen","es":"Ajustar la temperatura máxima deseada","fr":"Définir la température maximale cible","no":"Sett maksimum ønsket temperatur"},"args":[{"name":"target_temperature_max","type":"range","min":4,"max":35,"step":0.5,"example":20}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Minimum target temperature","nl":"Minimale gewenste temperatuur","da":"Minimum måltemperatur","it":"Temperatura target minima","ko":"최소 목표 온도","pl":"Minimalna temperatura docelowa","ru":"Минимальная заданная температура","sv":"Lägsta måltemperatur","es":"Temperatura mínima deseada","fr":"Température minimale cible","no":"Minimum ønsket temperatur"},"units":{"en":"°C","nl":"°C","da":"°C","it":"°C","ko":"°C","pl":"°C","ru":"°C","sv":"°C","es":"°C","fr":"°C","no":"°C"},"desc":{"en":"The low end of the temperature setpoint in degrees Celsius.","nl":"De ondergrens van het instelpunt voor temperatuur in graden Celsius.","da":"Den lave ende af temperaturindstillingspunktet i Celsius.","it":"Il setpoint minimo di temperatura in gradi Celsius.","ko":"섭씨 도 단위의 온도 설정값 최소치입니다.","pl":"Dolna granica wartości zadanej temperatury w stopniach Celsjusza.","ru":"Нижний предел уставки температуры в градусах Цельсия.","sv":"Den nedre delen av temperaturbörvärdet i grader Celsius.","es":"El valor inferior de ajuste de la temperatura en grados centígrados.\\n","fr":"Le niveau minimal de la température en degrés Celsius.","no":"Minimum ønsket temperaturinnstilling i grader Celsius."},"insights":true,"chartType":"stepLine","decimals":2,"min":4,"max":35,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_temperature_min_changed","title":{"en":"The minimum target temperature has changed","nl":"De minimale gewenste temperatuur is veranderd","da":"Minimum måltemperatur har ændret sig","it":"La temperatura target minima è cambiata","ko":"최소 목표 온도 변경됨","no":"Minimum ønsket temperatur er endret","pl":"Zmieniła się minimalna temperatura docelowa","ru":"Минимальная заданная температура изменена","sv":"Den lägsta måltemperaturen har ändrats","es":"La temperatura mínima deseada ha cambiado","fr":"La température minimale cible a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}],"actions":[{"id":"set_target_temperature_min","title":{"en":"Set the minimum target temperature","nl":"De minimale gewenste temperatuur instellen","da":"Indstil minimum måltemperatur","it":"Imposta la temperatura target minima","ko":"최소 목표 온도 설정","pl":"Ustaw minimalną temperaturę docelową","ru":"Установить минимальную заданную температуру","sv":"Ställ in lägsta önskade temperatur","es":"Ajustar la temperatura mínima deseada","fr":"Définir la température minimale cible","no":"Sett minimum ønsket temperatur"},"args":[{"name":"target_temperature_min","type":"range","min":4,"max":35,"step":0.5,"example":20}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Thermostat mode","nl":"Thermostaatmodus","de":"Thermostat-Modus","fr":"Mode thermostat","it":"Modalità termostato","sv":"Termostatläge","no":"Termostatmodus","es":"Modo del termostato","da":"Termostattilstand","ru":"Режим термостата","pl":"Tryb termostatu","ko":"온도조절기 모드"},"desc":{"en":"Mode of the thermostat","nl":"Modus van de thermostaat","de":"Modus des Thermostates","fr":"Mode du thermostat","it":"Modalità del termostato","sv":"Läge för termostaten","no":"Modus for termostaten","es":"Modo del termostato","da":"Tilstand for termostat","ru":"Режим термостата","pl":"Tryb termostatu","ko":"온도조절기의 모드"},"values":[{"id":"auto","title":{"en":"Automatic","nl":"Automatisch","de":"Automatisch","fr":"Automatique","it":"Automatica","sv":"Automatiskt","no":"Automatisk","es":"Automático","da":"Automatisk","ru":"Автоматически","pl":"Automatyczny","ko":"자동"}},{"id":"heat","title":{"en":"Heat","nl":"Verhitten","de":"Heizen","fr":"Chauffer","it":"Calore","sv":"Värme","no":"Varme","es":"Calentar","da":"Opvarm","ru":"Обогрев","pl":"Ogrzewanie","ko":"난방"}},{"id":"cool","title":{"en":"Cool","nl":"Koelen","de":"Kühlen","fr":"Refroidir","it":"Raffreddamento","sv":"Kyla","no":"Avkjøle","es":"Enfriar","da":"Køl ned","ru":"Охлаждение","pl":"Chłodzenie","ko":"냉방"}},{"id":"off","title":{"en":"Off","nl":"Uit","de":"Aus","fr":"Désactivé","it":"Disattivata","sv":"Av","no":"Av","es":"Desactivado","da":"Deaktiveret","ru":"Выкл","pl":"Wył","ko":"끔"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"thermostat_mode_changed","title":{"en":"Thermostat mode changed","nl":"Thermostaatmodus is veranderd","de":"Thermostat-Modus hat sich geändert","fr":"Le mode du thermostat a changé","it":"La modalità del termostato è cambiata","sv":"Termostatläge ändrades","no":"Termostatmodus ble endret","es":"El modo del termostato ha cambiado","da":"Termostattilstand er blevet ændret","ru":"Режим термостата изменен","pl":"Zmiana trybu termostatu","ko":"온도조절기 모드 변경됨"},"args":[{"name":"thermostat_mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"thermostat_mode_is","title":{"en":"Thermostat mode !{{is|is not}}","nl":"Thermostaatmodus !{{is|is niet}}","de":"Thermostat-Modus !{{ist|ist nicht}}","fr":"Mode thermostat !{{est|n\'est pas}}","it":"La modalità del termostato !{{è|non è}}","sv":"Termostatläge !{{är|är inte}}","no":"Termostatmodus !{{er|er ikke}}","es":"El modo del termostato !{{está|no está}}","da":"Termostattilstand !{{er|er ikke}}","ru":"Режим термостата !{{|не}}","pl":"Tryb termostatu !{{to|to nie}}","ko":"온도조절기 모드가 다음으로 설정!{{됨|되지 않음}}"},"args":[{"name":"thermostat_mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"thermostat_mode_set","title":{"en":"Set the mode","nl":"Stel de modus in","de":"Modus setzen","fr":"Définir le mode","it":"Imposta la modalità","sv":"Ställ in läget","no":"Innstill modusen","es":"Configurar el modo","da":"Indstil tilstanden","ru":"Установить режим","pl":"Ustaw tryb","ko":"모드 설정"},"args":[{"name":"thermostat_mode","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Vacuum cleaner job mode","nl":"Stofzuigermodus","da":"Støvsugerens jobtilstand","it":"Modalità di lavoro dell\'aspirapolvere","ko":"진공 청소기 작동 모드","pl":"Tryb pracy odkurzacza","ru":"Режим работы пылесоса","sv":"Dammsugarens arbetsläge","es":"Modo de trabajo del aspirador","fr":"Mode de fonctionnement de l\'aspirateur","no":"Jobbmodus for støvsuger"},"values":[{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"끔","pl":"Wył","ru":"Выкл.","sv":"Av","es":"Desactivado","fr":"Désactivé","no":"Av"}},{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalny","ru":"Нормальный","sv":"Normal","es":"Normal","fr":"Normal","no":"Normal"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Høj","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Интенсивный","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høy"}},{"id":"turbo","title":{"en":"Turbo","nl":"Turbo","da":"Turbo","it":"Turbo","ko":"터보","pl":"Turbo","ru":"Турбо","sv":"Turbo","es":"Turbo","fr":"Turbo","no":"Turbo"}},{"id":"mop","title":{"en":"Mop","nl":"Dweilen","da":"Moppe","it":"Lavaggio","ko":"물걸레","pl":"Mop","ru":"Швабра","sv":"Mopp","es":"Fregado","fr":"Serpillère","no":"Mopping"}},{"id":"auto","title":{"en":"Auto","nl":"Automatisch","da":"Auto","it":"Auto","ko":"자동","pl":"Auto","ru":"Авто\\n","sv":"Auto","es":"Automático","fr":"Automatique","no":"Automatisk"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"vacuumcleaner_job_mode_changed","title":{"en":"The job mode has changed","nl":"De modus is veranderd","da":"Jobtilstanden er ændret","it":"La modalità di lavoro è cambiata","ko":"작동 모드 변경됨","no":"Jobbmodusen er endret","pl":"Zmienił się tryb pracy","ru":"Режим работы изменен","sv":"Arbetsläget har ändrats","es":"El modo de trabajo ha cambiado","fr":"Le mode de fonctionnement a changé"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"vacuumcleaner_job_mode_is","title":{"en":"The job mode !{{is|is not}}","nl":"De modus !{{is|is niet}}","da":"Jobtilstanden !{{er|er ikke}}","it":"La modalità di lavoro !{{è|non è}}","ko":"작동 모드가 다음!{{과 같음| 아님}}","pl":"Tryb pracy !{{to|to nie}}","ru":"Режим работы !{{|не}}","sv":"Arbetsläget !{{är|är inte}}","es":"El modo de trabajo !{{está|no está}}","fr":"Le mode fonctionnement !{{est|n\'est pas}}","no":"Jobbmodusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_vacuumcleaner_job_mode","title":{"en":"Set the job mode to","nl":"De modus instellen op","da":"Indstil jobtilstanden til","it":"Imposta la modalità di lavoro su","ko":"작동 모드를 다음으로 설정","pl":"Ustaw tryb pracy na","ru":"Установить режим работы на","sv":"Ställ in arbetsläget på","es":"Ajustar el modo de trabajo en","fr":"Définir le mode de fonctionnement sur","no":"Sett jobbmodusen til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Vacuum cleaner state","de":"Staubsauger-Status","fr":"Etat de l\'aspirateur","it":"Stato dell\'aspirapolvere","sv":"Dammsugarstatus","no":"Støvsugerstatus","es":"Modo de la aspiradora","da":"Støvsugerstatus","ru":"Состояние пылесоса","pl":"Stan odkurzacza","ko":"진공청소기 상태"},"values":[{"id":"cleaning","title":{"en":"Cleaning","nl":"Stofzuigen","de":"Staubsaugen","fr":"Aspirer","it":"Pulizia in corso","sv":"Städning","no":"Rengjøring","es":"Aspirando","da":"Støvsuger","ru":"Идет уборка","pl":"Sprzątanie","ko":"청소 중"}},{"id":"spot_cleaning","title":{"en":"Spot cleaning","nl":"Vlek schoonmaken","de":"Spot-Reinigung","fr":"Détacher","it":"Pulizia delle macchie","sv":"Områdesstädning","no":"Områderengjøring","es":"Aspirando un punto concreto","da":"Områdestøvsugning","ru":"Идет точечная уборка","pl":"Przestań sprzątać","ko":"집중 청소 중"}},{"id":"docked","title":{"en":"Docked","nl":"Op laadstation","de":"An Ladestation","fr":"Connecté à la base","it":"Connesso alla base","sv":"Dockad","no":"I ladestasjon","es":"En la base de carga","da":"I ladestation","ru":"На станции","pl":"W bazie","ko":"도킹됨"}},{"id":"charging","title":{"en":"Charging","nl":"Aan het opladen","de":"Lädt auf","fr":"En charge","it":"In carica","sv":"Laddar","no":"Lader","es":"Cargando","da":"Lader","ru":"Заряжается","pl":"Ładowanie","ko":"충전 중"}},{"id":"stopped","title":{"en":"Stopped","nl":"Gestopt","de":"Gestoppt","fr":"Arrêté","it":"Fermo","sv":"Stoppad","no":"Stanset","es":"Detenida","da":"Stoppet","ru":"Остановлен","pl":"Zatrzymano","ko":"중지됨"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"vacuumcleaner_state_changed","title":{"en":"The state changed to...","nl":"De status is veranderd naar...","de":"Der Status hat sich geändert auf...","fr":"L\'état est passé à...","it":"Lo stato è cambiato in...","sv":"Status ändrad till...","no":"Status endret til ...","es":"El estado ha cambiado a...","da":"Status er ændret til...","ru":"Состояние изменено на…","pl":"Zmiana stanu na...","ko":"상태가 다음으로 변경됨..."},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"vacuumcleaner_state_is","title":{"en":"The vacuum cleaner !{{is|is not}}","nl":"De stofzuiger !{{is|is niet}}","de":"Der Staubsauger !{{ist|ist nicht}}","fr":"L\'aspirateur !{{est|n\'est pas}}","it":"L\'aspirapolvere !{{è|non è}}","sv":"Dammsugaren !{{är|är inte}}","no":"Støvsugeren !{{er|er ikke}}","es":"La aspiradora !{{está|no está}}","da":"Støvsugeren !{{er|er ikke}}","ru":"Пылесос !{{|не}}","pl":"Stan odkurzacza !{{to|to nie}}","ko":"진공청소기가 다음으로 설정!{{됨|되지 않음}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"clean","highlight":true,"title":{"en":"Start cleaning","nl":"Begin met stofzuigen","de":"Mit Staubsaugen anfangen","fr":"Commencer le nettoyage","it":"Avvia la pulizia","sv":"Börja städa","no":"Begynn rengjøring","es":"Comenzar a aspirar","da":"Begynd at støvsuge","ru":"Начать уборку","pl":"Zacznij sprzątać","ko":"청소 시작"}},{"id":"spot_clean","title":{"en":"Start spot cleaning","nl":"Begin met pleksgewijs stofzuigen","de":"Mit Spot-Reinigung anfangen","fr":"Commencer le détachage","it":"Avvia la pulizia delle macchie","sv":"Starta områdesstädning","no":"Begynn områderengjøring","es":"Comenzar a aspirar un punto concreto","da":"Begynd at områdestøvsuge","ru":"Начать точечную уборку","pl":"Zacznij sprzątać punktowo","ko":"집중 청소 시작"}},{"id":"dock","highlight":true,"title":{"en":"Return to dock","nl":"Terug naar laadstation","de":"Zu Ladestation zurückkehren","fr":"Retourner à la base","it":"Ritorna alla base","sv":"Återgå till docka","no":"Gå tilbake til ladestasjon","es":"Volver a la base de carga","da":"Vend tilbage til ladestationen","ru":"Возвратиться на станцию","pl":"Wróć do bazy","ko":"도크로 복귀"}},{"id":"stop","highlight":true,"title":{"en":"Stop","nl":"Stop","de":"Stop","fr":"Arrêter","it":"Arresta","sv":"Stopp","no":"Stans","es":"Detener","da":"Stop","ru":"Стоп","pl":"Przestań","ko":"중지"}}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Valve position","nl":"Kleppositie","da":"Ventilens position","it":"Posizione della valvola","ko":"밸브 위치","pl":"Pozycja zaworu","ru":"Положение клапана","sv":"Ventilposition","es":"Posición de la válvula","fr":"Position de la vanne","no":"Ventilposisjon"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The current position of the valve in percent.","nl":"De huidige positie van de klep in procenten.","da":"Ventilens aktuelle position i procent.","it":"La posizione attuale della valvola in percentuale.","ko":"백분율로 표현한 밸브의 현재 위치입니다.","pl":"Bieżąca pozycja zaworu w procentach.","ru":"Текущее положение клапана в процентах.","sv":"Ventilens aktuella position i procent.","es":"La posición actual de la válvula en porcentaje.","fr":"Position actuelle de la vanne en pourcentage.","no":"Ventilens nåværende posisjon i prosent."},"insights":true,"chartType":"spline","decimals":2,"min":0,"max":1,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"valve_position_changed","title":{"en":"The valve position changed","nl":"De kleppositie is veranderd","da":"Ventilens position er ændret","it":"La posizione della valvola è cambiata","ko":"밸브 위치 변경됨","pl":"Zmieniła się pozycja zaworu","ru":"Положение клапана изменено","sv":"Ventilens position har ändrats","es":"La posición de la válvula la cambiado","fr":"La position de la vanne a changé","no":"Ventilposisjonen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_valve_position","title":{"en":"Set the valve position","nl":"De kleppositie instellen","da":"Indstil ventilens position","it":"Imposta la posizione della valvola","ko":"밸브 위치 설정","pl":"Ustaw pozycję zaworu","ru":"Установить положение клапана","sv":"Ställ in ventilens position","es":"Ajustar la posición de la válvula","fr":"Définir la position de la vanne","no":"Innstill ventilposisjonen"},"args":[{"name":"valve_position","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Volume down","nl":"Volume omlaag","de":"Lautstärke runter","fr":"Baisser le volume","it":"Volume abbassato","sv":"Volym ned","no":"Volum ned","es":"Bajar volumen","da":"Ned for lyden","ru":"Звук тише","pl":"Zmniejsz głośność","ko":"볼륨 작게"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"volume_down","highlight":true,"title":{"en":"Turn the volume down","nl":"Zet het geluid zachter","de":"Dreh die Lautstärke runter","fr":"Baisser le son","it":"Abbassa il volume","sv":"Sänk volymen","no":"Senk volumet","es":"Bajar el volumen","da":"Skru ned for lyden","ru":"Сделать звук тише","pl":"Zmniejsz poziom głośności","ko":"볼륨 낮추기"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Volume muted","nl":"Gedempt volume","de":"Lautstärke stumm","fr":"Volume sourdine","it":"Volume disattivato","sv":"Volym inaktiverad","no":"Volym dempet","es":"Silenciar volumen","da":"Lyd slået fra","ru":"Звук выключен","pl":"Głośność wyciszona","ko":"볼륨 음소거됨"},"type":"boolean","getable":true,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"volume_mute","title":{"en":"Mute the volume","nl":"Demp het geluid","de":"Lautstärke stummschalten","fr":"Mettre le volume en sourdine","it":"Disattiva il volume","sv":"Inaktivera volymen","no":"Demp volumet","es":"Silenciar el volumen","da":"Slå lyden fra","ru":"Выключить звук","pl":"Wycisz głośność","ko":"볼륨 음소거"}},{"id":"volume_unmute","title":{"en":"Unmute the volume","nl":"Demp het geluid niet meer","de":"Lautstärke nicht mehr stummschalten","fr":"Réactiver le son","it":"Riattiva il volume","sv":"Aktivera volymen","no":"Opphev demping av volum","es":"Activar el volumen","da":"Slå lyden til","ru":"Включить звук","pl":"Włącz głośność","ko":"볼륨 음소거 해제"}},{"id":"volume_mute_toggle","title":{"en":"Toggle muted volume on or off","nl":"Gedempt volume in- of uitschakelen","de":"Stummschaltung ein- oder ausschalten","fr":"Activer ou désactiver le son coupé","it":"Attiva o disattiva il volume disattivato","sv":"Slå på eller av avstängd volym","no":"Slå dempet volum på eller av","es":"Activar el volumen o silenciar","da":"Slå dæmpet lydstyrke til eller fra","ko":"볼륨 켬 또는 끔 토글","ru":"Включить или выключить приглушенный звук"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Set volume","nl":"Volume instellen","de":"Lautstärke setzen","fr":"Définir le volume","it":"Imposta il volume","sv":"Ställ in volym","no":"Innstill volum","es":"Configurar volumen","da":"Indstil lydstyrken","ru":"Установить громкость","pl":"Ustaw głośność","ko":"볼륨 설정"},"type":"number","desc":{"en":"Volume","nl":"Volume","de":"Lautstärke","fr":"Volume","it":"Volume","sv":"Volym","no":"Volum","es":"Volumen","da":"Lydstyrke","ru":"Громкость","pl":"Poziom głośności","ko":"볼륨"},"chartType":"stepLine","min":0,"max":1,"decimals":2,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"setable":true,"getable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"volume_set_changed","title":{"en":"The volume changed","nl":"Het volume is veranderd","de":"Lautstärke hat sich geändert","fr":"Volume modifié","it":"Il volume è cambiato","sv":"Volymen ändrades","no":"Volumet ble endret","es":"El volumen ha cambiado","da":"Lydstyrke ændrede sig","ru":"Объем изменился","pl":"Zmienił się poziom głośności","ko":"볼륨 변경됨"},"tokens":[{"name":"volume_set","type":"number","title":{"en":"Volume","nl":"Volume","de":"Lautstärke","fr":"Volume","it":"Volume","sv":"Volym","no":"Volum","es":"Volumen","da":"Lydstyrke","ru":"Громкость","pl":"Poziom głośności","ko":"볼륨"},"example":0.5}]}],"actions":[{"id":"volume_set","highlight":true,"title":{"en":"Set the volume to","nl":"Zet het volume naar","de":"Lautstärke setzen auf","fr":"Définir le volume sur","it":"Imposta il volume a","sv":"Ställ in volymen på","no":"Sett volumet til","es":"Configurar el volumen a","da":"Indstil lydstyrke til","ru":"Установить громкость на","pl":"Ustaw poziom głośności na","ko":"볼륨을 다음으로 설정"},"args":[{"name":"volume_set","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]},{"id":"volume_set_relative","title":{"en":"Set relative volume","de":"Setze relative Lautsärke","nl":"Zet relatief volume","ru":"Установить относительную громкость","pl":"Ustaw względny poziom głośności","ko":"상대 볼륨 설정","no":"Still inn relativt volum","es":"Configurar volumen relativo"},"hint":{"en":"Change the volume with respect to the device\'s current volume.","de":"Ändere die Lautstärke unter Berücksichtigung der aktuellen Lautstärke des Gerätes.","nl":"Verhoog of verlaag het volume ten opzichte van het huidige volume van het apparaat.","ko":"디바이스의 현재 볼륨을 기준으로 볼륨을 변경합니다.","no":"Endre volumet i forhold til enhetens gjeldende volum.","ru":"Изменить громкость по отношению к текущей громкости устройства."},"args":[{"name":"volume_set","type":"range","min":-1,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Volume up","nl":"Volume omhoog","de":"Lautstärke hoch","fr":"Augmenter le volume","it":"Volume alzato","sv":"Volym upp","no":"Volum opp","es":"Subir volumen","da":"Op for lyden","ru":"Звук громче","pl":"Zwiększ głośność","ko":"볼륨 크게"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"volume_up","highlight":true,"title":{"en":"Turn the volume up","nl":"Zet het geluid harder","de":"Dreh die Lautstärke hoch","fr":"Augmenter le son","it":"Alza il volume","sv":"Vrid upp volymen","no":"Skru opp volumet","es":"Subir el volumen","da":"Skru op for lyden","ru":"Сделать звук громче","pl":"Zwiększ poziom głośności","ko":"볼륨 높이기"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыто","pl":"Zasunięte","ko":"닫힘"},"getable":true,"setable":true,"uiComponent":"toggle","$flow":{"triggers":[{"id":"windowcoverings_closed_true","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыто","pl":"Zasunięte","ko":"닫힘"}},{"id":"windowcoverings_closed_false","title":{"en":"Opened","nl":"Geopend","de":"Offen","fr":"Ouvert","it":"Aperte","sv":"Öppen","no":"Åpen","es":"Abiertos","da":"Åben","ru":"Открыто","pl":"Rozchylone","ko":"열림"}}],"conditions":[{"id":"closed","title":{"en":"Are !{{closed|opened}}","nl":"Zijn !{{gesloten|geopend}}","de":"Sind !{{geschlossen|offen}}","fr":"Sont !{{fermés|ouverts}}","it":"Sono !{{chiuse|aperte}}","sv":"Är !{{stängda|öppnade}}","no":"Er !{{lukket|åpen}}","es":"Están !{{cerrados|abiertos}}","da":"Er !{{lukket|åben}}","ru":"!{{закрыты|открыты}}","pl":"Są !{{zasunięte|rozchylone}}","ko":"이(가) !{{닫힘|열림}}"}}],"actions":[{"id":"close","highlight":true,"title":{"en":"Close","nl":"Sluiten","de":"Schließen","fr":"Fermer","it":"Chiudi","sv":"Stäng","no":"Lukk","es":"Cerrar","da":"Luk","ru":"Закрыть","pl":"Zasuń","ko":"닫기"}},{"id":"open","highlight":true,"title":{"en":"Open","nl":"Openen","de":"Öffnen","fr":"Ouvrir","it":"Apri","sv":"Öppna","no":"Åpne","es":"Abrir","da":"Åbn","ru":"Открыть","pl":"Rozchyl","ko":"열기"}},{"id":"toggle","title":{"en":"Toggle open or closed","nl":"Schakel tussen geopend en gesloten","de":"Offen/Geschlossen umschalten","fr":"Alterner ouvert/fermé","it":"Alterna aperte/chiuse","sv":"Växla mellan öppen eller stängd","no":"Veksle mellom åpen og lukket","es":"Abrir o cerrar","da":"Skift mellem åben og lukket","ru":"Переключатель открыть/закрыть","pl":"Przełącz na rozchylone lub zasłonięte","ko":"열림 또는 닫힘 토글"}}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Position","nl":"Positie","de":"Position","fr":"Position","it":"Posizione","sv":"Position","no":"Posisjon","es":"Posición","da":"Position","ru":"Позиция","pl":"Pozycja","ko":"위치"},"desc":{"en":"Set the position of window coverings. 0% is closed, 100% is open","de":"Die Position der Jalousien setzen. 0% ist geschlossen, 100% ist offen","fr":"Définir la position des stores. 0% est fermé, 100% est ouvert","it":"Imposta la posizione delle tapparelle. 0% è chiuse, 100% è aperte","sv":"Ställ in positionen för fönsterskydden. 0 % är stängd, 100 % är öppet","no":"Innstill vindusbeskyttelsens posisjon. 0 % er lukket, 100 % er åpen","es":"Configura la posición de los cobertores de ventanas. 0 % es \'cerrados\', 100 % es \'abiertos\'","da":"Indstil positionen af dækket for vinduet. 0% er lukket, 100% er åben","ru":"Установите позицию оконных навесов. 0% означает закрыто, 100% означает открыто","pl":"Ustaw pozycję osłon okiennych. 0% oznacza zasunięte, 100% rozchylone","ko":"창문 덮개 위치를 설정합니다. 0%는 닫힘, 100%는 열림입니다."},"chartType":"stepLine","min":0,"max":1,"decimals":2,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"windowcoverings_set_changed","title":{"en":"The position changed","nl":"De positie is veranderd","de":"Position hat sich geändert","fr":"La position a changé","it":"La posizione è cambiata","sv":"Position ändrad","no":"Posisjonen ble endret","es":"La posición ha cambiado","da":"Position ændret","ru":"Позиция изменилась","pl":"Zmieniła się pozycja","ko":"위치 변경됨"},"tokens":[{"name":"windowcoverings_set","type":"number","title":{"en":"Position","nl":"Positie","de":"Position","fr":"Position","it":"Posizione","sv":"Position","no":"Posisjon","es":"Posición","da":"Position","ru":"Позиция","pl":"Pozycja","ko":"위치"},"example":0.5}]}],"actions":[{"id":"windowcoverings_set","highlight":true,"title":{"en":"Set the position to","nl":"Zet de positie naar","de":"Setze die Position auf","fr":"Mettre la position sur","it":"Imposta la posizione su","sv":"Ställ in positionen till","no":"Innstill posisjonen til","es":"Configurar la posición como","da":"Indstil positionen til","ru":"Установите позицию на","pl":"Ustaw pozycję na","ko":"위치를 다음으로 설정"},"hint":{"en":"Change the position to open (100%), closed (0%), or a value in between.","nl":"Verander de positie naar open (100%), gesloten (0%), of een waarde daartussen.","ru":"Измените позицию на открытую (100%), закрытую (0%) или между этими значениями.","pl":"Zmień pozycję na rozchylone (100%), zasunięte (0%) lub wartość pomiędzy.","ko":"위치를 열림(100%), 닫힘(0%) 또는 그 사이의 값으로 변경합니다.","no":"Endre posisjonen til åpen (100 %), lukket (0 %) eller en verdi mellom disse."},"args":[{"name":"windowcoverings_set","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings state","nl":"Raambekledingstatus","de":"Jalousien-Status","fr":"Etat des stores","it":"Stato delle tapparelle","sv":"Status för fönsterskydd","no":"Status for vindusbeskyttelse","es":"Estado de los cobertores de ventanas","da":"Status for vinduesdække","ru":"Состояние оконных навесов","pl":"Stan osłon okiennych","ko":"창문 덮개 상태"},"type":"enum","values":[{"id":"up","title":{"en":"Up","nl":"Omhoog","de":"Oben","fr":"Haut","it":"Alzate","sv":"Upp","no":"Opp","es":"Arriba","da":"Oppe","ru":"Наверх","pl":"Rozchylone","ko":"위로"}},{"id":"idle","title":{"en":"Idle","nl":"Stil","de":"Inaktiv","fr":"Inactif","it":"Socchiuse","sv":"Inaktiv","no":"Ikke aktiv","es":"Inactivos","da":"Inaktiv","ru":"В ожидании","pl":"W spoczynku","ko":"유휴"}},{"id":"down","title":{"en":"Down","nl":"Omlaag","de":"Unten","fr":"Bas","it":"Abbassate","sv":"Ned","no":"Ned","es":"Abajo","da":"Nede","ru":"Вниз","pl":"Zasunięte","ko":"아래로"}}],"getable":true,"setable":true,"uiComponent":"ternary","$flow":{"triggers":[{"id":"windowcoverings_state_changed","highlight":true,"title":{"en":"The state changed","nl":"De status is veranderd","de":"Der Status hat sich geändert","fr":"L\'état a été modifié","it":"Lo stato è cambiato","sv":"Status ändrades","no":"Status ble endret","es":"El estado ha cambiado","da":"Status blev ændret","ru":"Состояние изменено","pl":"Zmiana stanu","ko":"상태 변경됨"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"windowcoverings_state_is","title":{"en":"The state is !{{|not}}","nl":"De status is !{{|niet}}","de":"Der Status ist !{{|nicht}}","fr":"L\'état !{{est|n\' est pas}}","it":"Lo stato !{{è|non è}}","sv":"Status är !{{|inte}}","no":"Status er !{{|ikke}}","es":"El estado !{{|no}} es","da":"Status er !{{|ikke}}","ru":"Состояние !{{|не}}","pl":"Stan to !{{|nie}}","ko":"상태가 다음!{{임|아님}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_windowcoverings_state","highlight":true,"title":{"en":"Set state","nl":"Zet de status","de":"Status setzen","fr":"Définir l\'état","it":"Imposta lo stato","sv":"Ställ in status","no":"Innstill status","es":"Configurar estado","da":"Indstil status","ru":"Установить состояние","pl":"Ustaw stan","ko":"상태 설정"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings tilt down","nl":"Raambekleding kantelt omlaag","de":"Jalousien nach unten gekippt","fr":"Stores baissés","it":"Tapparelle abbassate","sv":"Fönsterskydd nedfällda","no":"Vindusbeskyttelser lukket","es":"Cobertores de ventanas inclinados hacia abajo","da":"Vinduesdække nedad","ru":"Наклонить вниз оконные навесы","pl":"Zasunięcie osłon okiennych","ko":"창문 덮개 아래로 틸트"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"tilt_down","title":{"en":"Tilt down","da":"Vip nedad","it":"Inclina verso il basso","ko":"아래로 틸팅","nl":"Omlaag kantelen","pl":"Odchylenie w dół","ru":"Наклон вниз","sv":"Luta ner","es":"Inclinar hacia abajo","fr":"Inclinaison vers le bas","no":"Vipp ned"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings tilt set","nl":"Kanteling van raambekleding ingesteld","de":"Jalousien-Kippstellung setzen","fr":"Définir l\'inclinaison des stores","it":"Imposta l\'inclinazione delle tapparelle","sv":"Ställ in lutning för fönsterskydd","no":"Innstill helning for vindusbeskyttelse","es":"Configurar la inclinación de los cobertores de ventanas","da":"Indstil hældning for vinduesdække","ru":"Угол наклона оконных навесов установлен","pl":"Ustawienie osłon okiennych","ko":"창문 덮개 틸트 설정"},"type":"number","min":0,"max":1,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"decimals":2,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"windowcoverings_tilt_set_changed","title":{"en":"The tilt position changed","da":"Hældningspositionen ændrede sig","it":"L\'inclinazione è cambiata","ko":"틸팅 위치 변경됨","nl":"De kantelpositie is veranderd","pl":"Zmieniła się pozycja odchylenia","ru":"Положение наклона изменено","sv":"Lutningsläget ändrades","es":"La inclinación ha cambiado","fr":"La position d\'inclinaison a changé","no":"Vippeposisjonen ble endret"},"tokens":[{"name":"windowcoverings_tilt_set","type":"number","title":{"en":"Position","da":"Position","it":"Posizione","ko":"위치","nl":"Positie","pl":"Pozycja","ru":"Положение","sv":"Position","es":"Posición","fr":"Position","no":"Posisjon"},"example":0.5}]}],"actions":[{"id":"windowcoverings_tilt_set","highlight":true,"title":{"en":"Set the tilt position to","da":"Indstil hældningsposition til","it":"Imposta l\'inclinazione su","ko":"틸팅 위치를 다음으로 설정","nl":"De kantelpositie instellen op","pl":"Ustaw pozycję odchylenia na","ru":"Установить положение наклона на","sv":"Ställ in lutningsläget på","es":"Ajustar la inclinación a","fr":"Définir la position d\'inclinaison sur","no":"Sett vippeposisjonen til"},"hint":{"en":"Change the tilt position to open (100%), closed (0%), or a value in between.","da":"Skift hældningsposition til åben (100 %), lukket (0 %) eller en værdi midt imellem.","it":"Modifica l\'inclinazione su aperto (100%), chiuso (0%) o su un valore intermedio.","ko":"틸팅 위치를 열림(100%), 닫힘(0%) 또는 그 사이의 값으로 변경합니다.","nl":"Wijzig de kantelpositie in open (100%), gesloten (0%) of een waarde ertussenin.","pl":"Zmień pozycję odchylenia na otwartą (100%), zamkniętą (0%) lub wartość pośrednią.","ru":"Изменить положение наклона на «открыто» (100%), «закрыто» (0%) или выбрать промежуточное значение.","sv":"Ändra lutningsläget till öppet (100 %), stängt (0 %) eller ett värde däremellan.","es":"Cambia la inclinación a abierta (100%), cerrada (0%) o un valor intermedio.","fr":"Modifier la position de l\'inclinaison pour qu\'elle soit ouverte (100 %), fermée (0 %) ou une valeur intermédiaire.","no":"Endre vippeposisjonen til åpen (100 %), lukket (0 %) eller en mellomliggende verdi."},"args":[{"name":"windowcoverings_tilt_set","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings tilt up","nl":"Raambekleding kantelt omhoog","de":"Jalousien nach oben gekippt","fr":"Stores levés","it":"Tapparelle alzate","sv":"Fönsterskydd öppna","no":"Vindusbeskyttelser åpne","es":"Cobertores de ventanas inclinados hacia arriba","da":"Vinduesdække opad","ru":"Приподнять оконные навесы","pl":"Rozchylenie osłon okiennych","ko":"창문 덮개 위로 틸트"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"tilt_up","title":{"en":"Tilt up","da":"Vip op","it":"Inclina verso l\'alto","ko":"위로 틸팅","nl":"Omhoog kantelen","pl":"Odchylenie w górę","ru":"Наклон вверх","sv":"Luta upp","es":"Inclinar hacia arriba","fr":"Inclinaison vers le haut","no":"Vipp opp"}}]}}')},function(e){e.exports=JSON.parse('["airconditioning","airfryer","airpurifier","airtreatment","amplifier","battery","bicycle","blinds","boiler","button","camera","car","coffeemachine","cooktop","curtain","dehumidifier","diffuser","dishwasher","doorbell","dryer","evcharger","fan","faucet","fireplace","freezer","fridge_and_freezer","fridge","fryer","gameconsole","garagedoor","grill","heater","heatpump","homealarm","hood","humidifier","kettle","lawnmower","light","lock","mediaplayer","microwave","mop","multicooker","networkrouter","other","oven_and_microwave","oven","petfeeder","radiator","remote","scooter","sensor","service","settopbox","shutterblinds","siren","smokealarm","socket","solarpanel","speaker","sprinkler","sunshade","thermostat","tv","vacuumcleaner","vehicle","washer_and_dryer","washer","waterheater","waterpurifier","watervalve","windowcoverings"]')},function(e,t,a){var r={"./airconditioning.json":245,"./airfryer.json":246,"./airpurifier.json":247,"./airtreatment.json":248,"./amplifier.json":249,"./battery.json":250,"./bicycle.json":251,"./blinds.json":252,"./boiler.json":253,"./button.json":254,"./camera.json":255,"./car.json":256,"./coffeemachine.json":257,"./cooktop.json":258,"./curtain.json":259,"./dehumidifier.json":260,"./diffuser.json":261,"./dishwasher.json":262,"./doorbell.json":263,"./dryer.json":264,"./evcharger.json":265,"./fan.json":266,"./faucet.json":267,"./fireplace.json":268,"./freezer.json":269,"./fridge.json":270,"./fridge_and_freezer.json":271,"./fryer.json":272,"./gameconsole.json":273,"./garagedoor.json":274,"./grill.json":275,"./heater.json":276,"./heatpump.json":277,"./homealarm.json":278,"./hood.json":279,"./humidifier.json":280,"./kettle.json":281,"./lawnmower.json":282,"./light.json":283,"./lock.json":284,"./mediaplayer.json":285,"./microwave.json":286,"./mop.json":287,"./multicooker.json":288,"./networkrouter.json":289,"./other.json":290,"./oven.json":291,"./oven_and_microwave.json":292,"./petfeeder.json":293,"./radiator.json":294,"./relay.json":295,"./remote.json":296,"./scooter.json":297,"./sensor.json":298,"./service.json":299,"./settopbox.json":300,"./shutterblinds.json":301,"./siren.json":302,"./smokealarm.json":303,"./socket.json":304,"./solarpanel.json":305,"./speaker.json":306,"./sprinkler.json":307,"./sunshade.json":308,"./thermostat.json":309,"./tv.json":310,"./vacuumcleaner.json":311,"./vehicle.json":312,"./washer.json":313,"./washer_and_dryer.json":314,"./waterheater.json":315,"./waterpurifier.json":316,"./watervalve.json":317,"./windowcoverings.json":318};function i(e){var t=n(e);return a(t)}function n(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=n,e.exports=i,i.id=244},function(e){e.exports=JSON.parse('{"title":{"en":"Air Conditioner","da":"Klimaanlæg","de":"Klimaanlage","es":"Equipo de aire acondicionado","fr":"Climatiseur","it":"Climatizzatore","ko":"에어컨","nl":"Airconditioner","no":"Klimaanlegg","pl":"Klimatyzacja","ru":"Кондиционер","sv":"Luftkonditionerare"},"description":{"en":"Use this device class for airconditioners, either portable or split type units.","da":"Brug denne enhedsklasse til klimaanlæg, enten bærbare eller split-enheder.","de":"Verwenden Sie diese Geräteklasse für tragbare oder geteilte Klimageräte.","es":"Utiliza esta clase de dispositivo para equipos de aire acondicionado, ya sean portátiles o de tipo split.","fr":"Cette classe d\'appareils est utilisée pour les climatiseurs, qu\'il s\'agisse d\'unités portables ou de type split.","it":"Utilizza questa classe di dispositivi per i condizionatori, sia portatili che di tipo split.","ko":"이 디바이스 클래스는 이동식 또는 실내외기 분할형 에어컨에 사용합니다.","nl":"Gebruik deze apparaatklasse voor airconditioners, zowel draagbare als splitsysteem.","no":"Bruk denne enhetsklassen for klimaanlegg av både flyttbar og fastmontert type.","pl":"Tej klasy urządzeń należy używać do klimatyzatorów, zarówno przenośnych, jak i typu split.","ru":"Используйте этот класс устройств для кондиционеров, как переносных, так и сплит-систем.","sv":"Använd denna enhetsklass för luftkonditioneringsapparater, antingen portabla eller enheter av split-typ."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Air Fryer","da":"Airfryer","de":"Heißluftfritteuse","es":"Freidora de aire","fr":"Friteuse à air","it":"Friggitrice ad aria","ko":"에어프라이어","nl":"Airfryer","no":"Airfryer","pl":"Frytkownica beztłuszczowa","ru":"Аэрогриль","sv":"Luftfritös"},"description":{"en":"Use this device class for air fryers.","da":"Brug denne enhedsklasse til airfryers.","de":"Verwenden Sie diese Geräteklasse für Heißluftfritteusen.","es":"Utiliza esta clase de dispositivo para freidoras de aire.","fr":"Utilisez cette classe d\'appareils pour les friteuses à air.","it":"Utilizza questa classe di dispositivi per le friggitrici ad aria.","ko":"이 디바이스 클래스는 에어프라이어에 사용합니다.","nl":"Gebruik deze apparaatklasse voor airfryers.","no":"Bruk denne enhetsklassen for airfryere.","pl":"Ta klasa urządzeń jest przeznaczona dla frytkownic beztłuszczowych.","ru":"Используйте этот класс устройств для аэрогрилей.","sv":"Använd den här enhetsklassen för luftfritöser."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Air Purifier","da":"Luftrenser","de":"Luftreiniger","es":"Purificador de aire","fr":"Purificateur d\'air","it":"Purificatore d\'aria","ko":"공기청정기","nl":"Luchtreiniger","no":"Luftrenser","pl":"Oczyszczacz powietrza","ru":"Очиститель воздуха","sv":"Luftrenare"},"description":{"en":"Use this device class for air purifiers.","da":"Brug denne enhedsklasse til luftrensere.","de":"Verwenden Sie diese Geräteklasse für Luftreiniger.","es":"Utiliza esta clase de dispositivo para purificadores de aire.","fr":"Utiliser cette classe d\'appareils pour les purificateurs d\'air.","it":"Utilizza questa classe di dispositivi per i purificatori d\'aria.","ko":"이 디바이스 클래스는 공기청정기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor luchtreinigers.","no":"Bruk denne enhetsklassen for luftrensere.","pl":"Tej klasy urządzeń należy używać w przypadku oczyszczaczy powietrza.","ru":"Используйте этот класс устройств для очистителей воздуха.","sv":"Använd den häe enhetsklassen för luftrenare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Air Treatment","da":"Luftbehandling","de":"Luftbehandlung","es":"Tratamiento del aire","fr":"Traitement de l\'air","it":"Trattamento dell\'aria","ko":"공기 처리","nl":"Luchtbehandeling","no":"Luftbehandling","pl":"Oczyszczanie powietrza","ru":"Обработка воздуха","sv":"Luftbehandling"},"description":{"en":"Use this device class for any type of air treatment appliance, when the `dehumidifier`, `humidifier`, `diffuser` or `airpurifier` device class doesn\'t apply. Could be for combi units.","da":"Brug denne enhedsklasse til alle typer luftbehandlingsapparater, når enhedsklasserne `affugter`, `luftfugter`, `aromalampe` eller `luftrenser` ikke gælder. Kunne være til kombi-enheder.","de":"Verwenden Sie diese Geräteklasse für alle Arten von Luftbehandlungsgeräten, wenn die Geräteklassen „Luftentfeuchter“, „Luftbefeuchter“, „Zerstäuber“ oder „Luftreiniger“ nicht zutreffen. Dies kann etwa für Kombigeräte der Fall sein.","es":"Utiliza esta clase de dispositivo para cualquier tipo de aparato de tratamiento del aire que no pertenezca a las clases \\"Deshumidificador\\", \\"Humidificador\\", \\"Difusor\\" ni \\"Purificador de aire\\". Puede servir para unidades combinadas.","fr":"Utilisez cette classe d\'appareil pour tout type d\'appareil de traitement de l\'air, lorsque la classe d\'appareil \\"déshumidificateur\\", \\"humidificateur\\", \\"diffuseur\\" ou \\"purificateur d\'air\\" ne s\'applique pas. Il peut s\'agir d\'unités combinées.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di dispositivo per il trattamento dell\'aria, quando la classe \\"deumidificatore\\", \\"umidificatore\\", \\"diffusore\\" o \\"purificatore d\'aria\\" non è applicabile. Può essere utilizzata per le unità combinate.","ko":"이 디바이스 클래스는 \'dehumidifier\', \'humidifier\', \'diffuser\', \'airpurifier\' 디바이스 클래스가 적용되지 않는 공기 처리 가전에 사용합니다. 복합형 유닛에도 사용할 수 있습니다.","nl":"Gebruik deze apparaatklasse voor elk type luchtbehandelingsapparaat wanneer de apparaatklasse \'luchtontvochtiger\', \'luchtbevochtiger\', \'diffuser\' of \'luchtreiniger\' niet van toepassing is. Kan voor combi-eenheden zijn.","no":"Bruk denne enhetsklassen for alle typer luftbehandlingsapparater som ikke dekkes av enhetsklassene «luftavfukter», «luftfukter», «duftspreder» eller «luftrenser». Kan brukes for kombienheter.","pl":"Użyj tej klasy urządzeń dla dowolnego typu urządzenia do uzdatniania powietrza, gdy klasa urządzeń „osuszacz\\", „nawilżacz”, „dyfuzor” lub „oczyszczacz powietrza” nie ma zastosowania. Może dotyczyć jednostek combi.","ru":"Используйте этот класс устройств для любых устройств обработки воздуха, которые не относятся к классу устройств «осушитель воздуха», «увлажнитель воздуха», «диффузор» или «очиститель воздуха». Может использоваться для комбинированных устройств.","sv":"Använd den här enhetsklassen för alla typer av luftbehandlingsapparater när apparatklasserna \\"avfuktare\\", \\"luftavfuktare\\", \\"diffusor\\" eller \\"luftrenare\\" inte är tillämpliga. Kan vara för kombienheter."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형입니까?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["airpurifier","dehumidifier","diffuser","humidifier"],"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Amplifier","nl":"Versterker","de":"Verstärker","fr":"Amplificateur","it":"Amplificatore","sv":"Förstärkare","no":"Forsterker","es":"Amplificador","da":"Forstærker","ru":"Усилитель","pl":"Wzmacniacz","ko":"앰프"},"description":{"en":"Use this device class for audio amplifier devices.","de":"Nutze diese Geräteklasse für Audio-Verstärker-Geräte.","fr":"Utilisez cette classe d\'appareil pour les appareils amplificateurs audio.","it":"Utilizza questa classe di dispositivi per i dispositivi che amplificano l\'audio.","sv":"Använd den här enhetsklassne ljudförstärkarenheter.","no":"Bruk denne enhetsklassen for lydforsterkerenheter.","es":"Utiliza esta clase de dispositivo para los amplificadores de audio.","da":"Brug denne enhedsklasse til lydforstærkerenheder.","ru":"Используйте этот класс устройств для усилителей звука.","pl":"Użyj tej klasy urządzeń dla wzmacniaczy audio.","ko":"이 디바이스 클래스는 오디오 앰프 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Battery","da":"Batteri","de":"Batterie","es":"Batería","fr":"Batterie","it":"Batteria","ko":"배터리","nl":"Batterij","no":"Batteri","pl":"Bateria","ru":"Аккумулятор","sv":"Batteri"},"description":{"en":"Use this device for batteries, e.g. home battery storage.","da":"Brug denne enhedsklasse til batterier, f.eks. til opbevaring af hjemmebatterier.","de":"Verwenden Sie diese Geräteklasse für Batterien, z. B. für den Heimbatteriespeicher.","es":"Utiliza esta clase de dispositivo para baterías (por ej., almacenamiento doméstico de pilas y baterías).","fr":"Utilisez cette classe d\'appareils pour les batteries, par exemple pour le stockage des batteries domestiques.","it":"Utilizza questa classe di dispositivi per le batterie, es. accumulatore domestico.","ko":"이 디바이스 클래스는 가정용 배터리 스토리지 등 배터리류에 사용합니다.","nl":"Gebruik deze apparaatklasse voor batterijen, bijvoorbeeld voor thuisopslag van batterijen.","no":"Bruk denne enhetsklassen for batterier, f.eks. batterilagringsløsninger hjemme.","pl":"Tego urządzenia należy używać do baterii, np. do przechowywania baterii w domu.","ru":"Используйте этот класс устройств для аккумуляторов, например, для домашних накопителей энергии.","sv":"Använd den här enhetsklassen för batterier, t.ex. för batterilagring i hemmet."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Bicycle","da":"Cykel","de":"Fahrrad","es":"Bicicleta","fr":"Vélo","it":"Bicicletta","ko":"자전거","nl":"Fiets","no":"Sykkel","pl":"Rower","ru":"Велосипед","sv":"Cykel"},"description":{"en":"Use this device class for bicycles.","da":"Brug denne enhedsklasse til cykler.","de":"Verwenden Sie diese Geräteklasse für Fahrräder.","es":"Utiliza esta clase de dispositivo para bicicletas.","fr":"Utilisez cette classe d\'appareils pour les vélos.","it":"Utilizza questa classe di dispositivi per le biciclette.","ko":"이 디바이스 클래스는 자전거에 사용합니다.","nl":"Gebruik deze apparaatklasse voor fietsen.","no":"Bruk denne enhetsklassen for sykler.","pl":"Ta klasa urządzeń jest przeznaczona dla rowerów.","ru":"Используйте этот класс устройств для велосипедов.","sv":"Använd den här enhetsklassen för cyklar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Blinds","nl":"Jaloezieën & Lamellen","de":"Rolladen","fr":"Stores","it":"Tapparelle","sv":"Persienner","no":"Persienner","es":"Persianas","da":"Persienner","ru":"Жалюзи","pl":"Rolety","ko":"블라인드"},"description":{"en":"Use this device class for blinds, both horizontal and vertical.","de":"Nutze diese Geräteklasse für Rolladen, sowohl horizontal als auch vertikal.","fr":"Utilisez cette classe d\'appareil pour les stores, horizontaux et verticaux.","it":"Utilizza questa classe di dispositivi per le tapparelle, orizzontali e verticali.","sv":"Använd den här enhetsklassen för persienner, både horisontella och vertikala.","no":"Bruk denne enhetsklassen for persienner, både horisontale og vertikale.","es":"Utiliza esta clase de dispositivo para las persianas, tanto horizontales como verticales.","da":"Brug denne enhedsklasse til persienner, både vandrette og lodrette.","ru":"Используйте этот класс устройств для жалюзи, как горизонтальных, так и вертикальных.","pl":"Użyj tej klasy urządzeń dla rolet (poziomych i pionowych).","ko":"이 디바이스 클래스는 가로형 및 세로형 블라인드에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Boiler","da":"Kedel","de":"Heizkessel","es":"Caldera","fr":"Chaudière","it":"Caldaia","ko":"보일러","nl":"Boiler","no":"Varmtvannsbereder","pl":"Boiler","ru":"Котел","sv":"Värmepanna"},"description":{"en":"Use this device class for any kind of boiler, e.g. heatpump boiler, gas boiler, hot water boiler, central heating boiler.","da":"Brug denne enhedsklasse til enhver form for kedel, f.eks. varmepumpekedel, gaskedel, varmtvandskedel, centralvarmekedel.","de":"Verwenden Sie diese Geräteklasse für jede Art von Heizkessel, z. B. Wärmepumpenkessel, Gaskessel, Warmwasserboiler, Zentralheizungskessel.","es":"Utiliza esta clase de dispositivo para cualquier tipo de calentador (por ej., caldera de bomba de calor, caldera de gas, caldera de agua caliente, caldera de calefacción central, etc.).","fr":"Utilisez cette classe d\'appareils pour tout type de chaudière, par exemple une chaudière à pompe à chaleur, une chaudière à gaz, une chaudière à eau chaude, une chaudière de chauffage central.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di caldaia, es. caldaia a pompa di calore, caldaia a gas, caldaia ad acqua, caldaia con riscaldamento centralizzato.","ko":"이 디바이스 클래스는 히트펌프 보일러, 가스 보일러, 온수 보일러, 중앙난방 보일러 등 모든 종류의 보일러에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type boiler, bijv. warmtepompboiler, gasketel, warmwaterboiler, cv-ketel.","no":"Bruk denne enhetsklassen for alle slags varmtvannsberedere, f.eks. varmepumpebereder, gassbereder, varmtvannsbereder, sentral storbereder.","pl":"Tej klasy urządzeń należy używać do każdego rodzaju boilera, np. z pompą ciepła, gazowego, na ciepłą wodę, centralnego ogrzewania.","ru":"Используйте этот класс устройств для котлов любого типа, например, котла с тепловым насосом, газового котла, водонагревательного котла, котла центрального отопления.","sv":"Använd den här enhetsklassen för alla typer av pannor, t.ex. värmepumpspannor, gaspannor, varmvattenpannor, centralvärmepannor."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Button","nl":"Knop","de":"Taste","fr":"Bouton","it":"Pulsante","sv":"Knapp","no":"Knapp","es":"Botón","da":"Knap","ru":"Кнопка","pl":"Przycisk","ko":"버튼"},"description":{"en":"Use this device class for buttons, such as a remote.","de":"Nutze diese Geräteklasse für Tasten wie z. B. eine Fernbedienung.","fr":"Utilisez cette classe d\'appareil pour les boutons, comme pour une télécommande.","it":"Utilizza questa classe di dispositivi per i pulsanti, come ad esempio un telecomando.","sv":"Använd den här enhetsklassen för knappar, som en fjärrkontroll.","no":"Bruk denne enhetsklassen for knapper, f.eks. en fjernkontroll.","es":"Utiliza esta clase de dispositivo para los botones, p. ej., mandos a distancia.","da":"Brug denne enhedsklasse til knapper, f-eks. en fjernbetjening.","ru":"Используйте этот класс устройств для устройств с кнопками, например пультов.","pl":"Użyj tej klasy urządzeń dla przycisków, np. pilota.","ko":"이 디바이스 클래스는 리모컨 등 버튼이 있는 것에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Camera","nl":"Camera","de":"Kamera","fr":"Caméra","it":"Telecamera","sv":"Kamera","no":"Kamera","es":"Cámara","da":"Kamera","ru":"Камера","pl":"Kamera","ko":"카메라"},"description":{"en":"Security camera","nl":"Beveiligingscamera","de":"Überwachungskamera","fr":"Caméra de sécurité","it":"Telecamera di sicurezza","sv":"Säkerhetskamera","no":"Sikkerhetskamera","es":"Cámara de seguridad","da":"Overvågningskamera","ru":"Камера наблюдения","pl":"Kamera bezpieczeństwa","ko":"보안 카메라"}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Car","da":"Bil","de":"Auto","es":"Coche","fr":"Voiture","it":"Automobile","ko":"자동차","nl":"Auto","no":"Bil","pl":"Samochód","ru":"Автомобиль","sv":"Bil"},"description":{"en":"Use this device class for any kind of car.","da":"Brug denne enhedsklasse til enhver form for bil.","de":"Verwenden Sie diese Geräteklasse für jede Art von Auto.","es":"Utiliza esta clase de dispositivo para cualquier tipo de coche.","fr":"Cette classe d\'appareils peut être utilisée pour tout type de voiture.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di automobile.","ko":"이 디바이스는 모든 종류의 자동차에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type auto.","no":"Bruk denne enhetsklassen for alle slags biler.","pl":"Ta klasa urządzeń jest przeznaczona do każdego rodzaju samochodu.","ru":"Используйте этот класс устройств для автомобилей любого типа.","sv":"Använd den här enhetsklassen för alla typer av bilar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Coffee Machine","nl":"Koffiemachine","de":"Kaffemaschine","fr":"Machine à café","it":"Macchina per il caffè","sv":"Kaffemaskin","no":"Kaffemaskin","es":"Máquina de café","da":"Kaffemaskine","ru":"Кофемашина","pl":"Ekspres do kawy","ko":"커피머신"},"description":{"en":"Use this device class for coffee machines.","de":"Nutze diese Geräteklasse für Kaffeemaschinen.","fr":"Utilisez cette classe d\'appareil pour les machines à café.","it":"Utilizza questa classe di dispositivi per le macchine per il caffè.","sv":"Använd den här enhetsklassen för kaffemaskiner.","no":"Bruk denne enhetsklassen for kaffemaskiner.","es":"Utiliza esta clase de dispositivo para las máquinas de café.","da":"Brug denne enhedsklasse til kaffemaskiner.","ru":"Используйте этот класс устройств для кофемашин.","pl":"Użyj tej klasy urządzeń dla ekspresów do kawy.","ko":"이 디바이스 클래스는 커피머신에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Cooktop","da":"Kogeplade","de":"Kochfeld","es":"Placa de cocción","fr":"Table de cuisson","it":"Piano cottura","ko":"쿡탑","nl":"Kookplaat","no":"Koketopp","pl":"Płyta grzewcza","ru":"Варочная панель","sv":"Spishäll"},"description":{"en":"Use this device class for cooktops.","da":"Brug denne enhedsklasse til kogeplader.","de":"Verwenden Sie diese Geräteklasse für Kochfelder.","es":"Utiliza esta clase de dispositivo para placas de cocción.","fr":"Utilisez cette classe d\'appareils pour les tables de cuisson.","it":"Utilizza questa classe di dispositivi per i piani cottura.","ko":"이 디바이스 클래스는 쿡탑에 사용합니다.","nl":"Gebruik deze apparaatklasse voor kookplaten.","no":"Bruk denne enhetsklassen for koketopper.","pl":"Tej klasy urządzeń należy używać w przypadku płyt grzewczych.","ru":"Используйте этот класс устройств для варочных панелей.","sv":"Använd den här enhetsklassen för spishällar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Curtains","nl":"Gordijnen","de":"Vorhänge","fr":"Rideaux","it":"Tende","sv":"Gardiner","no":"Gardiner","es":"Cortinas","da":"Gardiner","ru":"Шторы","pl":"Zasłony","ko":"커튼"},"description":{"en":"Use this device class for curtains.","de":"Nutze diese Geräteklasse für Vorhänge.","fr":"Utilisez cette classe d\'appareil pour les rideaux.","it":"Utilizza questa classe di dispositivi per le tende.","sv":"Använd den här enheten för gardiner.","no":"Bruk denne enheten for gardiner.","es":"Utiliza esta clase de dispositivo para las cortinas.","da":"Brug denne enhedsklasse til gardiner.","ru":"Используйте этот класс устройств для штор.","pl":"Użyj tej klasy urządzeń dla zasłon.","ko":"이 디바이스 클래스는 커튼에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Dehumidifier","da":"Affugter","de":"Luftentfeuchter","es":"Deshumidificador","fr":"Déshumidificateur","it":"Deumidificatore","ko":"제습기","nl":"Luchtontvochtiger","no":"Luftavfukter","pl":"Osuszacz powietrza","ru":"Осушитель воздуха","sv":"Avfuktare"},"description":{"en":"Use this device class for dehumidifiers.","da":"Brug denne enhedsklasse til affugtere.","de":"Verwenden Sie diese Geräteklasse für Luftentfeuchter.","es":"Utiliza esta clase de dispositivo para deshumidificadores.","fr":"Utilisez cette classe d\'appareils pour les déshumidificateurs.","it":"Utilizza questa classe di dispositivi per i deumidificatori.","ko":"이 디바이스 클래스는 제습기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor luchtontvochtigers.","no":"Bruk denne enhetsklassen for luftavfuktere.","pl":"Tej klasy urządzeń należy używać w przypadku osuszaczy powietrza.","ru":"Используйте этот класс устройств для осушителей воздуха.","sv":"Använd den här enhetsklassen för avfuktare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Diffuser","da":"Aromalampe","de":"Zerstäuber","es":"Difusor","fr":"Diffuseur","it":"Diffusore","ko":"디퓨저","nl":"Diffuser","no":"Duftspreder","pl":"Dyfuzor","ru":"Диффузор","sv":"Diffusör"},"description":{"en":"User this device class for diffusers.","da":"Brug denne enhedsklasse til aromalamper.","de":"Verwenden Sie diese Geräteklasse für Zerstäuber.","es":"Utiliza esta clase de dispositivo para difusores.","fr":"Utilisez cette classe d\'appareil pour les diffuseurs.","it":"Utilizza questa classe di dispositivi per i diffusori.","ko":"이 디바이스 클래스는 디퓨저에 사용합니다.","nl":"Gebruik deze apparaatklasse voor diffusers.","no":"Bruk denne enhetsklassen for duftspredere.","pl":"Tej klasy urządzeń należy używać w przypadku dyfuzorów.","ru":"Используйте этот класс устройств для диффузоров.","sv":"Använd den här enhetsklassen för diffusörer."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Dishwasher","da":"Opvaskemaskine","de":"Geschirrspüler","es":"Lavavajillas","fr":"Lave-vaisselle","it":"Lavastoviglie","ko":"식기세척기","nl":"Vaatwasser","no":"Oppvaskmaskin","pl":"Zmywarka","ru":"Посудомоечная машина","sv":"Diskmaskin"},"description":{"en":"Use this device class for dishwashers.","da":"Brug denne enhedsklasse til opvaskemaskiner.","de":"Verwenden Sie diese Geräteklasse für Geschirrspülmaschinen.","es":"Utiliza esta clase de dispositivo para lavavajillas.","fr":"Utilisez cette classe d\'appareils pour les lave-vaisselle.","it":"Utilizza questa classe di dispositivi per le lavastoviglie.","ko":"이 디바이스 클래스는 식기세척기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor vaatwassers.","no":"Bruk denne enhetsklassen for oppvaskmaskiner.","pl":"Tej klasy urządzeń należy używać w przypadku zmywarek do naczyń.","ru":"Используйте этот класс устройств для посудомоечных машин.","sv":"Använd den här enhetsklassen för diskmaskiner."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Doorbell","nl":"Deurbel","de":"Türklingel","fr":"Sonnette","it":"Campanello","sv":"Dörrklocka","no":"Dørklokke","es":"Timbre","da":"Dørklokke","ru":"Дверной звонок","pl":"Dzwonek do drzwi","ko":"초인종"},"description":{"en":"Use this device class for doorbells, usually together with the `button` capability.","de":"Nutze diese Geräteklasse für Türklingeln - normalerweise zusammen mit der \'button\'-Fähigkeit.","fr":"Utilisez cette classe d\'appareil pour les sonnettes, habituellement avec la capacité de `bouton`.","it":"Utilizza questa classe di dispositivi per i campanelli, di solito insieme alla funzione `pulsante`.","sv":"Använd den här enhetsklassen för dörrklockor, oftast tillsammans med `knapp`-funktionen.","es":"Utiliza esta clase de dispositivo para los timbres, generalmente junto con la capacidad \'botón\'.","da":"Brug denne enhedsklasse til dørklokker, normalt sammen med `knap`-funktionen.","no":"Bruk denne enhetsklassen for dørklokker, vanligvis sammen med «knapp»-funksjonen.","ru":"Используйте этот класс устройств для дверных звонков, обычно вместе с возможностью использовать «кнопку».","pl":"Użyj tej klasy urządzeń dla dzwonków do drzwi, zwykle razem ze zdolnością „przycisk”.","ko":"이 디바이스 클래스는 보통 \'버튼\' 기능이 있는 초인종에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Dryer","da":"Tørretumbler","de":"Trockner","es":"Secadora","fr":"Sèche-linge","it":"Asciugatrice","ko":"건조기","nl":"Droger","no":"Tørketrommel","pl":"Suszarka","ru":"Сушилка","sv":"Torktumlare"},"description":{"en":"Use this device class for dryers, if it is a combination washer/dryer use \'washer_and_dryer\'.","da":"Brug denne enhedsklasse til tørretumblere. Hvis det er en kombineret vaskemaskine/tørretumbler, skal du bruge \'washer_and_dryer\'.","de":"Verwenden Sie diese Geräteklasse für Trockner. Bei Kombingeräten mit Waschmaschine und Trockner verwenden Sie „washer_and_dryer“.","es":"Utiliza esta clase de dispositivo para secadoras. Si se trata de un equipo que contiene funciones de lavadora y secadora, utiliza la clase \'washer_and_dryer\'.","fr":"Utilisez cette classe d\'appareils pour les sèche-linge. S\'il s\'agit d\'une combinaison lave-linge/sèche-linge, utilisez \\"washer_and_dryer\\".","it":"Utilizza questa classe di dispositivi per le asciugatrici, se si tratta di una combinazione di lavatrice/asciugatrice utilizza \\"washer_and_dryer\\".","ko":"이 디바이스 클래스는 건조기에 사용하고, 세탁기/건조기 일체형의 경우 \'washer_and_dryer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor drogers, als het een was/droogcombinatie is gebruik dan \'washer_and_dryer\'.","no":"Bruk denne enhetsklassen for tørketromler. For en kombinert vaskemaskin/tørketrommel, bruk «washer_and_dryer».","pl":"Użyj tej klasy urządzeń dla suszarek, jeśli jest to pralko-suszarka, użyj „washer_and_dryer”.","ru":"Используйте этот класс устройств для сушилок; в случае стиральной машины-сушилки используйте washer_and_dryer.","sv":"Använd den här enhetsklassen för torktumlare, om det är en kombinerad tvättmaskin/torktumlare ska du använda \'washer_and_dryer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"EV Charger","da":"Ladestationer til elbiler","de":"E-Auto-Ladegerät","es":"Cargador de vehículo eléctrico","fr":"Chargeur EV","it":"Caricatore di veicoli elettrici","ko":"EV 충전기","nl":"EV-lader","no":"Elbillader","pl":"Ładowarka pojazdów elektrycznych","ru":"Зарядное устройство для электромобилей","sv":"Laddare för elfordon"},"description":{"en":"Use this device class for EV chargers.","da":"Brug denne enhedsklasse til ladestationer til elbiler.","de":"Verwenden Sie diese Geräteklasse für E-Auto-Ladegeräte.","es":"Utiliza esta clase de dispositivo para cargadores de vehículos eléctricos.","fr":"Utilisez cette classe d\'appareils pour les chargeurs de véhicules électriques.","it":"Utilizza questa classe di dispositivi per i caricatori di veicoli elettrici.","ko":"이 디바이스 클래스는 EV 충전기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor EV-laders.","no":"Bruk denne enhetsklassen for elbilladere.","pl":"Ta klasa urządzeń jest przeznaczona dla ładowarek pojazdów elektrycznych.","ru":"Используйте этот класс устройств для зарядных устройств для электромобилей.","sv":"Använd den hät enhetsklassen för elfordonsladdare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fan","nl":"Ventilator","de":"Ventilator","fr":"Ventilateur","it":"Ventilatore","sv":"Fläkt","no":"Vifte","es":"Ventilador","da":"Ventilator","ru":"Вентилятор","pl":"Wentylator","ko":"선풍기"},"description":{"en":"Use this device class for fans that cool your home.","de":"Nutze diese Geräteklasse für Ventilatoren, die dein Heim kühlen.","fr":"Utilisez cette classe d\'appareil pour les ventilateurs qui refroidissent votre maison.","it":"Utilizza questa classe di dispositivi per i ventilatori che rinfrescano la tua casa.","sv":"Använd den här enhetsklassen för fläktar som kyler ned hemmet.","no":"Bruk denne enhetsklassen for vifter som avkjøler boligen din.","es":"Utiliza esta clase de dispositivo para los ventiladores que enfrían la casa.","da":"Brug denne enhedsklasse til ventilatorer, der køler dit hjem ned.","ru":"Используйте этот класс устройств для вентиляторов, которые охлаждают ваш дом.","pl":"Użyj tej klasy urządzeń dla wentylatorów, które chłodzą dom.","ko":"이 디바이스 클래스는 집에서 시원하게 지내게 해주는 선풍기에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Faucet","da":"Vandhane","de":"Wasserhahn","es":"Grifo","fr":"Robinet","it":"Rubinetto","ko":"꼭지","nl":"Kraan","no":"Kran","pl":"Kran","ru":"Смеситель","sv":"Kran"},"description":{"en":"Use this device class for faucets.","da":"Brug denne enhedsklasse til vandhaner.","de":"Verwenden Sie diese Geräteklasse für Wasserhähne.","es":"Utilice esta clase de dispositivo para grifos.","fr":"Utilisez cette classe d\'appareils pour les robinets.","it":"Utilizza questa classe di dispositivi per i rubinetti.","ko":"이 디바이스 클래스는 수도 등의 꼭지에 사용합니다.","nl":"Gebruik deze apparaatklasse voor kranen.","no":"Bruk denne enhetsklassen for kraner.","pl":"Tej klasy urządzeń należy używać w przypadku kranów.","ru":"Используйте этот класс устройств для смесителей.","sv":"Använd den här enhetsklassen för kranar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fireplace","da":"Ildsted","de":"Kamin","es":"Chimenea","fr":"Cheminée","it":"Camino","ko":"난로","nl":"Open haard","no":"Peis","pl":"Kominek","ru":"Камин","sv":"Öppen spis"},"description":{"en":"Use this device class for fireplaces.","da":"Brug denne enhedsklasse til ildsteder.","de":"Verwenden Sie diese Geräteklasse für Kamine.","es":"Utiliza esta clase de dispositivo para chimeneas.","fr":"Utilisez cette classe d\'appareils pour les cheminées.","it":"Utilizza questa classe di dispositivi per i camini.","ko":"이 디바이스 클래스는 난로에 사용합니다.","nl":"Gebruik deze apparaatklasse voor open haarden.","no":"Bruk denne enhetsklassen for peiser.","pl":"Tej klasy urządzeń należy używać w przypadku kominków.","ru":"Используйте этот класс устройств для каминов.","sv":"Använd den här enhetsklassen för öppna spisar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Freezer","da":"Fryser","de":"Gefrierschrank","es":"Congelador","fr":"Congélateur","it":"Congelatore","ko":"냉동고","nl":"Diepvries","no":"Fryser","pl":"Zamrażarka","ru":"Морозильная камера","sv":"Frys"},"description":{"en":"Use this device class for any kind of freezer, if it is a frigde/freezer use \'fridge_and_freezer\'.","da":"Brug denne enhedsklasse til enhver form for fryser. Hvis det er et køleskab/fryser, skal du bruge \'fridge_and_freezer\'.","de":"Verwenden Sie diese Geräteklasse für jede Art von Gefrierschränken. Für Kühl- und Gefrierschränke verwenden Sie „fridge_and_freezer“.","es":"Utiliza esta clase de dispositivo para cualquier tipo de congelador. Si se trata de un frigorífico con congelador, utiliza la clase \'fridge_and_freezer\'.","fr":"Utilisez cette classe d\'appareils pour tout type de congélateur, s\'il s\'agit d\'un réfrigérateur/congélateur, utilisez \\"fridge_and_freezer\\".","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di congelatore, se si tratta di un frigorifero/congelatore utilizza \\"fridge_and_freezer\\".","ko":"이 디바이스 클래스는 모든 종류의 냉동고에 사용하며, 냉장/냉동고의 경우 \'fridge_and_freezer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke soort vriezer, als het een koelkast/vriezer is gebruik dan \'fridge_and_freezer\'.","no":"Bruk denne enhetsklassen for alle slags frysere. For kombinert kjøleskap/fryser, bruk «fridge_and_freezer».","pl":"Tej klasy urządzeń należy używać dla każdego rodzaju zamrażarki, jeśli jest to lodówka/zamrażarka, należy użyć klasy „fridge_and_freezer”.","ru":"Используйте этот класс устройств для морозильных камер любого типа; в случае холодильника-морозильника используйте fridge_and_freezer.","sv":"Använd den här enhetsklassen för alla typer av frysar, om det är en kyl/frys ska du använda \'fridge_and_freezer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fridge","da":"Køleskab","de":"Kühlschrank","es":"Frigorífico","fr":"Réfrigérateur","it":"Frigorifero","ko":"냉장고","nl":"Koelkast","no":"Kjøleskap","pl":"Lodówka","ru":"Холодильник","sv":"Kylskåp"},"description":{"en":"Use this device class for any kind of fridge, if it is a fridge/freezer use \'fridge_and_freezer\'.","da":"Brug denne enhedsklasse til alle slags køleskabe. Hvis det er et køleskab/fryser, skal du bruge \'fridge_and_freezer\'.","de":"Verwenden Sie diese Geräteklasse für jede Art von Kühlschrank. Wenn es sich um einen Kühl-/Gefrierschrank handelt, verwenden Sie „fridge_and_freezer“.","es":"Utiliza esta clase de dispositivo para cualquier tipo de frigorífico. Si se trata de un frigorífico con congelador, utiliza la clase \'fridge_and_freezer\'.","fr":"Utilisez cette classe d\'appareils pour tout type de réfrigérateur. S\'il s\'agit d\'un réfrigérateur/congélateur, utilisez \\"fridge_and_freezer\\".","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di frigorifero, se si tratta di un frigorifero/congelatore utilizza \\"fridge_and_freezer\\".","ko":"이 디바이스 클래스는 모든 종류의 냉장고에 사용하며, 냉장/냉동고의 경우 \'fridge_and_freezer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke soort koelkast, als het een koelkast/vriezer is gebruik dan \'fridge_and_freezer\'.","no":"Bruk denne enhetsklassen for alle slags kjøleskap. For kombinert kjøleskap/fryser, bruk «fridge_and_freezer».","pl":"Tej klasy urządzeń należy używać dla każdego rodzaju lodówki, jeśli jest to lodówka/zamrażarka, należy użyć klasy „fridge_and_freezer”.","ru":"Используйте этот класс устройств для холодильников любого типа; в случае холодильника-морозильника используйте fridge_and_freezer.","sv":"Använd den här enhetsklassen för alla typer av kylskåp, om det är en kyl/frys ska du använda \'fridge_and_freezer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fridge & Freezer","da":"Køleskab og fryser","de":"Kühl- und Gefrierschrank","es":"Frigorífico con congelador","fr":"Réfrigérateur et congélateur","it":"Frigorifero e congelatore","ko":"냉장냉동고","nl":"Koelkast & vriezer","no":"Kjøleskap og fryser","pl":"Lodówka i zamrażarka","ru":"Холодильник и морозильная камера","sv":"Kyl och frys"},"description":{"en":"Use this device class for any kind of refrigerator that also has a freezer.","da":"Brug denne enhedsklasse til enhver form for køleskab, der også har en fryser.","de":"Verwenden Sie diese Geräteklasse für jede Art von Kühlschrank, in den auch ein Gefriergerät integriert ist.","es":"Utiliza esta clase de dispositivo para cualquier tipo de frigorífico que contenga una zona independiente de congelación.","fr":"Utilisez cette classe d\'appareils pour tout type de réfrigérateur qui possède également un congélateur.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di frigorifero dotato anche di congelatore.","ko":"이 디바이스 클래스는 냉동고 기능을 갖춘 모든 종류의 냉장고에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke soort koelkast die ook een vriezer heeft.","no":"Bruk denne enhetsklassen for alle slags kjøleskap som også har fryser.","pl":"Ta klasa urządzeń jest przeznaczona do każdego rodzaju lodówki z zamrażalnikiem.","ru":"Используйте этот класс устройств для любого холодильника, в котором также есть морозильная камера.","sv":"Använd den här enhetsklassen för alla typer av kylskåp som också har en frys."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fryer","da":"Frituregryde","de":"Fritteuse","es":"Freidora","fr":"Friteuse","it":"Friggitrice","ko":"프라이어","nl":"Friteuse","no":"Frityrkoker","pl":"Frytkownica","ru":"Фритюрница","sv":"Fritös"},"description":{"en":"Use this device class for fryers.","da":"Brug denne enhedsklasse til frituregryder.","de":"Verwenden Sie diese Geräteklasse für Friteusen.","es":"Utiliza esta clase de dispositivo para freidoras.","fr":"Utilisez cette classe d\'appareils pour les friteuses.","it":"Utilizza questa classe di dispositivi per le friggitrici.","ko":"이 디바이스 클래스는 튀김기 등 프라이어에 사용합니다.","nl":"Gebruik deze apparaatklasse voor friteuses.","no":"Bruk denne enhetsklassen for frityrkokere.","pl":"Tej klasy urządzeń należy używać w przypadku frytkownic.","ru":"Используйте этот класс устройств для фритюрниц.","sv":"Använd den här enhetsklassen för fritöser."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Game Console","da":"Spilkonsol","de":"Spielkonsole","es":"Consola de videojuegos","fr":"Console de jeux","it":"Console per videogiochi","ko":"게임 콘솔","nl":"Spelcomputer","no":"Spillkonsoll","pl":"Konsola do gier","ru":"Игровая консоль","sv":"Spelkonsol"},"description":{"en":"Use this device class for any type of game console.","da":"Brug denne enhedsklasse til alle typer spilkonsoller.","de":"Verwenden Sie diese Geräteklasse für alle Arten von Spielkonsolen.","es":"Utiliza esta clase de dispositivo para cualquier tipo de consola de videojuegos.","fr":"Utilisez cette classe d\'appareils pour tout type de console de jeu.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di console per videogiochi.","ko":"이 디바이스 클래스는 모든 종류의 게임 콘솔에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type spelcomputer.","no":"Bruk denne enhetsklassen for alle typer spillkonsoller.","pl":"Tej klasy urządzeń należy używać w przypadku dowolnego typu konsoli do gier.","ru":"Используйте этот класс устройств для игровых консолей любого типа.","sv":"Använd den här enhetsklassen för alla typer av spelkonsoler."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Garage Door","nl":"Garagedeur","de":"Garagentor","fr":"Porte de garage","it":"Porta del garage","sv":"Garagedörr","no":"Garasjeport","es":"Puerta de garaje","da":"Garageport","ru":"Дверь гаража","pl":"Brama garażowa","ko":"차고 문"},"description":{"en":"Use this device class for garage doors, usually together with the `garagedoor_closed` capability.","ru":"Используйте этот класс устройств для дверей гаража, обычно вместе с функцией `garagedoor_closed`.","pl":"Użyj tej klasy urządzeń dla bram garażowych, zwykle razem ze zdolnością „garagedoor_closed”.","ko":"이 디바이스 클래스는 보통 \'garagedoor_closed\' 기능을 갖춘 차고 문에 사용합니다.","no":"Bruk denne enhetsklassen for garasjeporter, vanligvis sammen med funksjonen «garagedoor_closed»."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Grill","da":"Grill","es":"Parrilla","fr":"Gril","it":"Griglia","ko":"그릴","nl":"Grill","no":"Grill","pl":"Grill","ru":"Гриль","sv":"Grill"},"description":{"en":"Use this device class for grills.","da":"Brug denne enhedsklasse til grill.","de":"Verwenden Sie diese Geräteklasse für Grills.","es":"Utiliza esta clase de dispositivo para parrillas.","fr":"Utilisez cette classe d\'appareils pour les grils.","it":"Utilizza questa classe di dispositivi per le griglie.","ko":"이 디바이스 클래스는 그릴에 사용합니다.","nl":"Gebruik deze apparaatklasse voor grills.","no":"Bruk denne enhetsklassen for griller.","pl":"Tej klasy urządzeń należy używać w przypadku grilli.","ru":"Используйте этот класс устройств для грилей.","sv":"Använd den här enhetsklassen för grillar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Heater","nl":"Heater","de":"Heizung","fr":"Radiateur","it":"Termosifone","sv":"Element","no":"Varmeelement","es":"Calefactor","da":"Varmeapparat","ru":"Обогреватель","pl":"Grzejnik","ko":"히터"},"description":{"en":"Use this device class for heaters, that warm your home.","de":"Nutze diese Geräteklasse für Heizungen, die dein Heim wärmen.","fr":"Utilisez cette classe d\'appareil pour les radiateurs qui chauffent votre maison.","it":"Utilizza questa classe di dispositivi per i termosifoni, che riscaldano la tua casa.","sv":"Använd den här enhetsklassen för element, som värmer upp hemmet.","no":"Bruk denne enhetsklassen for varmeelement som varmer opp hjemmet ditt.","es":"Utiliza esta clase de dispositivo para los calefactores que calientan tu casa.","da":"Brug denne enhedsklasse til varmeapparater, som opvarmer dit hjem.","ru":"Используйте этот класс устройств для обогревателей, которые обогревают ваш дом.","pl":"Użyj tej klasy urządzeń dla grzejników, które ogrzewają dom.","ko":"이 디바이스 클래스는 집을 따뜻하게 해주는 히터에 사용합니다."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형입니까?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["radiator"]}')},function(e){e.exports=JSON.parse('{"title":{"en":"Heat Pump","da":"Varmepumpe","de":"Wärmepumpe","es":"Bomba de calor","fr":"Pompe à chaleur","it":"Pompa di calore","ko":"히트펌프","nl":"Warmtepomp","no":"Varmepumpe","pl":"Pompa ciepła","ru":"Тепловой насос","sv":"Värmepump"},"description":{"en":"Use this device class for heat pumps.","da":"Brug denne enhedsklasse til varmepumper.","de":"Verwenden Sie diese Geräteklasse für Wärmepumpen.","es":"Utiliza esta clase de dispositivo para bombas de calor.","fr":"Utiliser cette classe d\'appareils pour les pompes à chaleur.","it":"Utilizza questa classe di dispositivi per le pompe di calore.","ko":"이 디바이스 클래스는 히트펌프에 사용합니다.","nl":"Gebruik deze apparaatklasse voor warmtepompen.","no":"Bruk denne enhetsklassen for varmepumper.","pl":"Tej klasy urządzeń należy używać w przypadku pomp ciepła.","ru":"Используйте этот класс устройств для тепловых насосов.","sv":"Använd den här enhetsklassen för värmepumpar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Home Security","nl":"Huisbeveiliging","de":"Heim-Sicherheit","fr":"Sécurité de la maison","it":"Sicurezza della casa","sv":"Hemsäkerhet","no":"Hjemmesikkerhet","es":"Seguridad de la casa","da":"Hjemmesikkerhed","ru":"Домашняя безопасность","pl":"Bezpieczeństwo domowe","ko":"홈 시큐리티"},"description":{"en":"Use this device class for home alarm systems.","de":"Nutze diese Geräteklasse für Heim-Alarm-Systeme.","fr":"Utilisez cette classe d\'appareil pour les systèmes d\'alarme de maison.","it":"Utilizza questa classe di dispositivi per i sistemi di allarme di casa.","sv":"Använd den här enhetsklassen för hemlarmsystem.","no":"Bruk denne enhetsklassen for hjemmealarmsystemer.","es":"Utiliza esta clase de dispositivo para los sistemas de alarmas de la casa.","da":"Brug denne enhedsklasse til alarmsystemer til hjemmet.","ru":"Используйте этот класс устройств для домашних систем сигнализации.","pl":"Użyj tej klasy urządzeń dla alarmów domowych.","ko":"이 디바이스 클래스는 가정용 알람 시스템에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Hood","da":"Emhætte","de":"Abzugshaube","es":"Campana extractora","fr":"Hotte","it":"Cappa","ko":"후드","nl":"Afzuigkap","no":"Vifte","pl":"Okap","ru":"Вытяжка","sv":"Fläkt"},"description":{"en":"User this device class for any kind of extractor hood.","da":"Brug denne enhedsklasse til enhver form for emhætte.","de":"Verwenden Sie diese Geräteklasse für alle Arten von Dunstabzugshauben.","es":"Utiliza esta clase de dispositivo para cualquier tipo de campana extractora.","fr":"Utilisez cette classe d\'appareils pour tout type de hotte aspirante.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di cappa aspirante.","nl":"Gebruik deze apparaatklasse voor elk type afzuigkap.","no":"Bruk denne enhetsklassen for alle slags avtrekksvifter.","pl":"Tej klasy urządzeń należy używać w przypadku każdego rodzaju okapu.","ru":"Используйте этот класс устройств для вытяжек любого типа.","sv":"Använd den här enhetsklassen för alla typer av köksfläktar.","ko":"이 디바이스 클래스는 모든 종류의 환풍기 후드에 사용합니다."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Humidifier","da":"Luftfugter","de":"Luftbefeuchter","es":"Humidificador","fr":"Humidificateur","it":"Umidificatore","ko":"가습기","nl":"Luchtbevochtiger","no":"Luftfukter","pl":"Nawilżacz","ru":"Увлажнитель воздуха","sv":"Luftfuktare"},"description":{"en":"Use this device class for humidifiers.","da":"Brug denne enhedsklasse til luftfugtere.","de":"Verwenden Sie diese Geräteklasse für Luftbefeuchter.","es":"Utiliza esta clase de dispositivo para humidificadores.","fr":"Utiliser cette classe d\'appareils pour les humidificateurs.","it":"Utilizza questa classe di dispositivi per gli umidificatori.","ko":"이 디바이스 클래스는 가습기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor luchtbevochtigers.","no":"Bruk denne enhetsklassen for luftfuktere.","pl":"Tej klasy urządzeń należy używać w przypadku nawilżaczy powietrza.","ru":"Используйте этот класс устройств для увлажнителей воздуха.","sv":"Använd den här enhetsklassen för luftfuktare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Kettle","nl":"Waterkoker","de":"Wasserkocher","fr":"Bouilloire","it":"Bollitore","sv":"Vattenkokare","no":"Vannkoker","es":"Hervidor","da":"Elkedel","ru":"Чайник","pl":"Czajnik","ko":"주전자"},"description":{"en":"Use this device class for kettle devices, that can heat water.","de":"Nutze diese Geräteklasse für Kessel-Geräte, die Wasser kochen können.","fr":"Utilisez cette classe d\'appareil pour les bouilloires qui peuvent faire chauffer de l\'eau.","it":"Utilizza questa classe di dispositivi per i bollitori, che possono riscaldare l\'acqua.","sv":"Använd den här enhetsklassen för vattenkokare, som kan värma vatten.","no":"Bruk denne enhetsklassen for vannkokere som kan varme opp vann.","es":"Utiliza esta clase de dispositivo para los hervidores que calientan agua.","da":"Brug denne enhedsklasse til elkedelenheder, der kan opvarme vand.","ru":"Используйте этот класс устройств для чайников, которые могут нагревать воду.","pl":"Użyj tej klasy urządzeń dla czajników, które ogrzewają wodę.","ko":"이 디바이스 클래스는 물을 데울 수 있는 주전자에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Lawn Mower","da":"Plæneklipper","de":"Rasenmäher","es":"Cortacésped","fr":"Tondeuse à gazon","it":"Tagliaerba","ko":"예초기","nl":"Grasmaaier","no":"Gressklipper","pl":"Kosiarka","ru":"Газонокосилка","sv":"Gräsklippare"},"description":{"en":"Use this device class for lawn mowers.","da":"Brug denne enhedsklasse til plæneklippere.","de":"Verwenden Sie diese Geräteklasse für Rasenmäher.","es":"Utiliza esta clase de dispositivo para cortadoras de césped.","fr":"Utilisez cette classe d\'appareils pour les tondeuses à gazon.","it":"Utilizza questa classe di dispositivi per i tagliaerba.","ko":"이 디바이스 클래스는 잔디깎이 등 예초기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor grasmaaiers.","no":"Bruk denne enhetsklassen for gressklippere.","pl":"Tej klasy urządzeń należy używać w przypadku kosiarek do trawy.","ru":"Используйте этот класс устройств для газонокосилок.","sv":"Använd den här enhetsklassen för gräsklippare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Light","nl":"Lamp","de":"Lampe","fr":"Lampe","it":"Lampada","sv":"Lampa","no":"Lampe","es":"Lámpara","da":"Lys","ru":"Лампа","pl":"Oświetlenie","ko":"조명"},"description":{"en":"Use this device class for lights, usually together with the `onoff`, `dim` and `light_*` capabilities.","de":"Nutze diese Geräteklasse für Lampen - normalerweise zusammen mit den `onoff`-, `dim`- und `light_*`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pou les lampes, habituellement avec les capacités `onoff`, `dim` et `light_*`.","it":"Utilizza questa classe di dispositivi per le lampade, generalmente insieme alle funzioni \'onoff\', `dim` e `light_*`.","sv":"Använd den här enhetsklassen för lampor, oftast tillsammans med funktionerna `onoff`, `dim` och `light_*`.","no":"Bruk denne enhetsklassen for lamper, ofte sammen med funksjonene `onoff`, `dim` och `light_*`.","es":"Utiliza esta clase de dispositivo para las luces, generalmente junto con las capacidades de \'onoff\', `dim`, y `light_*`.","da":"Brug denne enhedsklasse til lys, normalt sammen med `onoff`, `dim` og `light_*` funktionerne.","ru":"Используйте этот класс устройств для ламп, обычно вместе с функциями `onoff`,`dim` и `light_ *`.","pl":"Użyj tej klasy urządzeń dla oświetlenia, zwykle razem ze zdolnościami `onoff`, `dim` oraz `light_*`.","ko":"이 디바이스 클래스는 보통 `onoff`, `dim`, `light_*` 기능을 갖춘 조명에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Lock","nl":"Slot","de":"Schloss","fr":"Verrou","it":"Serratura","sv":"Lås","no":"Lås","es":"Cerradura","da":"Lås","ru":"Замок","pl":"Zamek","ko":"록"},"description":{"en":"Use this device class for lock devices, usually together with the `locked` and `lock_mode` capabilities.","de":"Nutze diese Geräteklasse für Schloss-Geräte - normalerweise zusammen mit den `locked`- und `lock_mode`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pour les appareils verrou, généralement avec les capacités `locked` et `lock_mode`.","it":"Utilizza questa classe di dispositivi per le serrature, generalmente insieme alle funzioni `locked` e `lock_mode`.","sv":"Använd den här enhetsklassen för att låsa enheter, oftast tillsammans med funktionerna `locked` och `lock_mode`.","no":"Bruk denne enhetsklassen for låseenheter, ofte sammen med funksjonene `locked` og `lock_mode`.","es":"Utiliza esta clase de dispositivo para las cerraduras, generalmente junto con las capacidades de `locked` y `lock_mode`.","da":"Brug denne enhedsklasse til låseenheder, normalt sammen med `locked` and `lock_mode` funktionerne.","ru":"Используйте этот класс устройств для замков, обычно вместе с функциями `locked` и `lock_mode`.","pl":"Użyj tej klasy urządzeń dla produktów z zamkiem, zwykle razem ze zdolnościami `locked` i `lock_mode`.","ko":"이 디바이스 클래스는 보통 \'locked\' 및 \'lock_mode\' 기능을 갖춘 잠금장치인 록 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Media Player","da":"Medieafspiller","de":"Medienabspielgerät","es":"Reproductor multimedia","fr":"Lecteur multimédia","it":"Lettore multimediale","ko":"미디어 플레이어","nl":"Mediaspeler","no":"Mediespiller","pl":"Odtwarzacz multimedialny","ru":"Медиаплеер","sv":"Mediaspelare"},"description":{"en":"Use this device class for media players, when the `Set-top box` device class doesn\'t apply.","da":"Brug denne enhedsklasse til medieafspillere, når enhedsklassen `tv-modtagerboks` ikke gælder.","de":"Verwenden Sie diese Geräteklasse für Medienabspielgeräte, wenn die Geräteklasse „Set-Top-Box“ nicht zutrifft.","es":"Utiliza esta clase de dispositivo para reproductores multimedia que no pertenezcan a la clase \\"Descodificador\\".","fr":"Utilisez cette classe d\'appareils pour les lecteurs multimédias, lorsque la classe d\'appareil \\"décodeur\\" ne s\'applique pas.","it":"Utilizza questa classe di dispositivi per i lettori multimediali, quando la classe \\"Set-top box\\" non è applicabile.","ko":"이 디바이스 클래스는 \'Set-top box\' 디바이스 클래스가 적용되지 않는 미디어 플레이어에 사용합니다.","nl":"Gebruik deze apparaatklasse voor mediaspelers als de apparaatklasse \'settopbox\' niet van toepassing is.","no":"Bruk denne enhetsklassen for mediespillere som ikke dekkes av enhetsklassen «TV-mottaker».","pl":"Tej klasy urządzeń należy używać dla odtwarzaczy multimedialnych, gdy klasa urządzeń „dekoder” nie ma zastosowania.","ru":"Используйте этот класс устройств для медиаплееров, которые не относятся к классу устройств «ресивер».","sv":"Använd den här enhetsklassen för mediaspelare när enhetsklassen \\"digitalbox\\" inte är tillämplig."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형입니까?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["settopbox"],"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Microwave","da":"Mikrobølgeovn","de":"Mikrowelle","es":"Microondas","fr":"Micro-ondes","it":"Microonde","ko":"전자레인지","nl":"Magnetron","no":"Mikrobølgeovn","pl":"Mikrofalówka","ru":"Микроволновая печь","sv":"Mikrovågsugn"},"description":{"en":"Use this device class for any kind of microwave, if it is a combi unit use \'oven_and_microwave\'.","da":"Brug denne enhedsklasse til enhver form for mikrobølgeovn, hvis det er en kombi-enhed, skal du bruge \'combi_microwave\'.","de":"Verwenden Sie diese Geräteklasse für jede Art von Mikrowelle. Wenn es sich um ein Kombigerät handelt, verwenden Sie „oven_and_microwave“.","es":"Utiliza esta clase de dispositivo para cualquier tipo de microondas. Si se trata de un equipo que combina horno y microondas, utiliza la clase \'oven_and_microwave\'.","fr":"Utilisez cette classe d\'appareils pour tout type de micro-ondes. S\'il s\'agit d\'une unité combinée, utilisez \\"oven_and_microwave\\".","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di microonde; se si tratta di un\'unità combinata, utilizza \\"oven_and_microwave\\".","nl":"Gebruik deze apparaatklasse voor elke soort magnetron, als het een combimagnetron is gebruik dan \'oven_and_microwave\'.","no":"Bruk denne enhetsklassen for alle slags mikrobølgeovner. For kombienheter, bruk «combi_microwave».","pl":"Tej klasy urządzeń należy używać dla każdego rodzaju kuchenki mikrofalowej, jeśli jest to urządzenie combi, należy użyć klasy \\"oven_and_microwave\\".","ru":"Используйте этот класс устройств для микроволновых печей любого типа; в случае комбинированного устройства используйте oven_and_microwave.","sv":"Använd den här enhetsklassen för alla typer av mikrovågsugnar, om det är en kombienhet ska du använda \'oven_and_microwave\'.","ko":"이 디바이스 클래스는 모든 종류의 전자레인지에 사용하되, 콤비오븐의 경우 \'combi_microwave\'를 사용합니다."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Mop","da":"Moppe","de":"Mopp","es":"Limpiasuelos","fr":"Balai à franges","it":"Lavapavimenti","ko":"물걸레 청소기","nl":"Mop","no":"Mopp","pl":"Mop","ru":"Швабра","sv":"Mopp"},"description":{"en":"Use this device class for mops, e.g. a robot mop.","da":"Brug denne enhedsklasse til mopper, f.eks. en robotmoppe.","de":"Verwenden Sie diese Geräteklasse für Mopps, z. B. für Wischroboter.","es":"Utiliza esta clase de dispositivo para equipos y utensilios para limpiar el suelo (por ej., un robot limpiasuelos).","fr":"Utilisez cette classe d\'appareils pour les balais à franges, par exemple un balai robot.","it":"Utilizza questa classe di dispositivi per i lavapavimenti, es. un robot lavapavimenti.","ko":"이 디바이스 클래스는 물걸레 로봇청소기 등 물걸레 청소기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor moppen, bijvoorbeeld een robotmop.","no":"Bruk denne enhetsklassen for mopper, f.eks. en robotmopp.","pl":"Tej klasy urządzeń należy używać w przypadku mopów, np. mopów-robotów.","sv":"Använd den här enhetsklassen för moppar, t.ex. en robotmopp.","ru":"Используйте этот класс устройств для швабр, например, роботов-швабр."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Multicooker","da":"Multicooker","de":"Multikocher","es":"Robot de cocina","fr":"Multicuiseur","it":"Multicooker","ko":"멀티쿠커","nl":"Multicooker","no":"Multikoker","pl":"Multicooker","ru":"Мультиварка","sv":"Multikokare"},"description":{"en":"Use this device class for multicookers.","da":"Brug denne enhedsklasse til multicookere.","de":"Verwenden Sie diese Geräteklasse für Multikocher.","es":"Utiliza esta clase de dispositivo para robots de cocina.","fr":"Utilisez cette classe d\'appareils pour les multicuiseurs.","it":"Utilizza questa classe di dispositivi per i multicooker.","ko":"이 디바이스 클래스는 멀티쿠커에 사용합니다.","nl":"Gebruik deze apparaatklasse voor multicookers.","no":"Bruk denne enhetsklassen for multikokere.","pl":"Tej klasy urządzeń należy używać w przypadku multicookerów.","ru":"Используйте этот класс устройств для мультиварок.","sv":"Använd den här enhetsklassen för multikokare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Network Router","da":"Netværksrouter","de":"Netzwerk-Router","es":"Router","fr":"Routeur de réseau","it":"Router di rete","ko":"네트워크 라우터","nl":"Netwerkrouter","no":"Nettverksruter","pl":"Router sieciowy","ru":"Сетевой маршрутизатор","sv":"Nätverksrouter"},"description":{"en":"Use this device class for routers or modems.","da":"Brug denne enhedsklasse til routere eller modemer.","de":"Verwenden Sie diese Geräteklasse für Router oder Modems.","es":"Utiliza esta clase de dispositivo para routers o módems.","fr":"Utilisez cette classe d\'appareils pour les routeurs ou les modems.","it":"Utilizza questa classe di dispositivi per i router o i modem.","ko":"이 디바이스 클래스는 라우터 또는 모뎀에 사용합니다.","nl":"Gebruik deze apparaatklasse voor routers of modems.","no":"Bruk denne enhetsklassen for rutere eller modemer.","pl":"Tej klasy urządzeń należy używać w przypadku routerów lub modemów.","ru":"Используйте этот класс устройств для маршрутизаторов или модемов.","sv":"Använd den här enhetsklassen för routrar eller modem."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Other","nl":"Overig","de":"Andere","fr":"Autre","it":"Altro","sv":"Övrigt","no":"Annet","es":"Otro","da":"Andet","ru":"Другое","pl":"Inne","ko":"기타"},"description":{"en":"Use this device class for devices that do not fit any other device class.","de":"Nutze diese Geräteklasse für Geräte, die nicht in andere Geräteklassen passen.","fr":"Utilisez cette classe d\'appareil pour les appareils qui ne correspondent à aucune autre classe d\'appareil.","it":"Utilizza questa classe di dispositivi per gli apparecchi che non appartengono a nessun\'altra classe di dispositivi.","sv":"Använd den här enhetsklassen för enheter som inte passar i någon annan enhetsklass.","no":"Bruk denne enhetsklassen for enheter som ikke passer inn i noen annen enhetsklasse.","es":"Utiliza esta clase de dispositivo para los dispositivos que no se ajusten a ninguna otra clase.","da":"Brug denne enhedsklasse til enheder, der ikke hører til i andre enhedsklasse.","ru":"Используйте этот класс устройств для устройств, которые не подходят ни к одному другому классу.","pl":"Użyj tej klasy urządzeń dla produktów, które nie odpowiadają żadnej klasie urządzeń.","ko":"이 디바이스 클래스는 다른 디바이스 클래스에 속하지 않은 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Oven","da":"Ovn","de":"Backofen","es":"Horno","fr":"Four","it":"Forno","ko":"오븐","nl":"Oven","no":"Stekeovn","pl":"Piekarnik","ru":"Духовой шкаф","sv":"Ugn"},"description":{"en":"Use this device class for ovens.","da":"Brug denne enhedsklasse til ovne.","de":"Verwenden Sie diese Geräteklasse für Backöfen.","es":"Utiliza esta clase de dispositivo para hornos.","fr":"Utilisez cette classe d\'appareils pour les fours.","it":"Utilizza questa classe di dispositivi per i forni.","ko":"이 디바이스 클래스는 오븐에 사용합니다.","nl":"Gebruik deze apparaatklasse voor ovens.","no":"Bruk denne enhetsklassen for stekeovner.","pl":"Tej klasy urządzeń należy używać w przypadku piekarników.","ru":"Используйте этот класс устройств для духовых шкафов.","sv":"Använd den här enhetsklassen för ugnar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Combi Microwave Oven","da":"Kombimikrobølgeovn","de":"Kombi-Mikrowellenherd","es":"Horno-microondas","fr":"Four à micro-ondes combiné","it":"Forno a microonde combinato","ko":"전자레인지 콤비오븐","nl":"Combimagnetron","no":"Kombi-mikrobølgeovn","pl":"Kuchenka mikrofalowa combi","ru":"Комбинированная микроволновая печь","sv":"Kombimikrovågsugn"},"description":{"en":"Use this device class for combination microwave ovens.","da":"Brug denne enhedsklasse til kombimikrobølgeovne.","de":"Verwenden Sie diese Geräteklasse für Kombi-Mikrowellenherde.","es":"Utilice esta clase de dispositivo para equipos que combinan funciones de horno y microondas.","fr":"Utilisez cette classe d\'appareils pour les fours à micro-ondes combinés.","it":"Utilizza questa classe di dispositivi per i forni a microonde combinati.","ko":"이 디바이스 클래스는 전자레인지와 오븐 기능을 합친 콤비오븐에 사용합니다.","nl":"Gebruik deze apparaatklasse voor combimagnetrons.","no":"Bruk denne enhetsklassen for kombiovner med mikrobølgeovn.","pl":"Tej klasy urządzeń należy używać w przypadku kuchenkach mikrofalowych combi.","ru":"Используйте этот класс устройств для комбинированных микроволновых печей.","sv":"Använd den här enhetsklassen för kombinerade mikrovågsugnar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Pet Feeder","da":"Foderautomat til kæledyr","de":"Futterspender","es":"Comedero para mascotas","fr":"Mangeoire pour animaux","it":"Distributore di cibo per animali domestici","ko":"사료 급여기","nl":"Voerbak","no":"Kjæledyrmater","pl":"Karmnik dla zwierząt","ru":"Кормушка для животных","sv":"Foderautomat till husdjur"},"description":{"en":"Use this device class for pet feeders.","da":"Brug denne enhedsklasse til foderautomater til kæledyr.","de":"Verwenden Sie diese Geräteklasse für Futterspender für Haustiere.","es":"Utiliza esta clase de dispositivo para comederos de mascotas.","fr":"Utilisez cette classe d\'appareils pour les mangeoires pour animaux.","it":"Utilizza questa classe di dispositivi per i distributori di cibo per animali domestici.","ko":"이 디바이스 클래스는 사료 급여기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor voerbakken.","no":"Bruk denne enhetsklassen for kjæledyrmatere.","pl":"Tej klasy urządzeń należy używać w przypadku karmników dla zwierząt.","ru":"Используйте этот класс устройств для кормушек для домашних животных.","sv":"Använd den här enhetsklassen för foderautomater till husdjur."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Radiator","da":"Radiator","de":"Heizkörper","es":"Radiador","fr":"Radiateur","it":"Radiatore","ko":"라디에이터","nl":"Radiator","no":"Radiator","pl":"Grzejnik","ru":"Обогреватель","sv":"Element"},"description":{"en":"Use this device class for radiators.","da":"Brug denne enhedsklasse til radiatorer.","de":"Verwenden Sie diese Geräteklasse für Heizkörper.","es":"Utiliza esta clase de dispositivo para radiadores.","fr":"Utiliser cette classe d\'appareils pour les radiateurs.","it":"Utilizza questa classe di dispositivi per i radiatori.","ko":"이 디바이스 클래스는 라디에이터에 사용합니다.","nl":"Gebruik deze apparaatklasse voor radiatoren.","no":"Bruk denne enhetsklassen for radiatorer.","pl":"Tej klasy urządzeń należy używać w przypadku grzejników.","ru":"Используйте этот класс устройств для обогревателей.","sv":"Använd den här enhetsklassen för element."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Relay","nl":"Relais","de":"Relais","fr":"Relais","it":"Relé","sv":"Relä","no":"Relé","es":"Relé","da":"Relæ","ru":"Узел","pl":"Przekaźnik","ko":"릴레이"},"description":{"en":"Use this device class for relays, which are connected to another device.","de":"Nutze diese Geräteklasse für Relais, die mit anderen Geräten verbunden sind.","fr":"Utilisez cette classe d\'appareil pour les relais qui sont connectés à d\'autres appareils.","it":"Utilizza questa classe di dispositivi per i relé, che sono connessi ad un altro dispositivo.","sv":"Använd den här enhetsklassen för relän, som är kopplade till en annan enhet","no":"Bruk denne enhetsklassen for reléer som er koblet til en annen enhet.","es":"Utiliza esta clase de dispositivo para los relés conectados a otros dispositivos.","da":"Brug denne enhedsklasse til relæer, som er koblet til en anden enhed.","ru":"Используйте этот класс устройств для узлов, которые подключены к другому устройству.","pl":"Użyj tej klasy urządzeń dla przekaźników niepołączonych z żadnym innym urządzeniem.","ko":"이 디바이스 클래스는 다른 디바이스에 연결된 릴레이에 사용합니다."},"virtualTitle":{"en":"What\'s connected?","nl":"Wat is er verbonden?","de":"Was ist verbunden?","fr":"Qu\'est-ce qui est connecté ?","it":"Cos\'è connesso?","sv":"Relä","no":"Hva er tilkoblet?","es":"¿Qué está conectado?","da":"Hvad er tilkoblet?","ru":"Что подключено?","pl":"Co jest połączone?","ko":"어떤 것이 연결되어 있습니까?"},"allowedVirtual":["garagedoor","sunshade","blinds","curtain"]}')},function(e){e.exports=JSON.parse('{"title":{"en":"Remote","nl":"Afstandsbediening","de":"Fernbedienung","fr":"Télécommande","it":"Telecomando","sv":"Fjärrkontroll","no":"Fjernkontroll","es":"Mando a distancia","da":"Fjernbetjening","ru":"Пульт","pl":"Pilot","ko":"리모컨"},"description":{"en":"Use this device class for (TV/Sunblind/Keyfob etc.) remotes.","de":"Nutze diese Geräteklasse für (TV/Jalousien/Schlüsselanhänger etc.)-Fernbedienungen.","fr":"Utilisez cette classe d\'appareil pour les télécommandes (TV/Stores/Porte-clés, etc.).","it":"Utilizza questa classe di dispositivi per i telecomandi (TV/Tapparelle/Portachiavi, ecc.).","sv":"Använd den här enheten för fjärrkontroller för (TV/Markis/Nyckellås mm.).","no":"Bruk denne enhetsklassen for fjernkontroller (for TV/markise/smartnøkkel etc.).","es":"Utiliza esta clase de dispositivo para los mandos a distancia (TV/persianas/llaves electrónicas, etc.","da":"Brug denne enhedsklasse til fjernbetjeninger (til TV/markise/smartnøgle osv.)","ru":"Используйте этот класс устройств для пультов дистанционного управления (телевизоры/жалюзи/брелки и т.п.).","pl":"Użyj tej klasy urządzeń dla pilotów (od telewizora/od markizy/klucza zbliżeniowego itp.).","ko":"이 디바이스 클래스는 (TV/선블라인드/스마트키 등) 리모컨에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Scooter","da":"Scooter","de":"Motorroller","es":"Scooter","fr":"Trottinette","it":"Scooter","ko":"스쿠터","nl":"Scooter","no":"Scooter","pl":"Skuter","ru":"Самокат"},"description":{"en":"Use this device class for scooters.","da":"Brug denne enhedsklasse til scootere.","de":"Verwenden Sie diese Geräteklasse für Motorroller.","es":"Utilice esta clase de dispositivo para scooters.","fr":"Utilisez cette classe d\'appareils pour les trottinettes.","it":"Utilizza questa classe di dispositivi per gli scooter.","ko":"이 디바이스 클래스는 스쿠터에 사용합니다.","nl":"Gebruik deze apparaatklasse voor scooters.","no":"Bruk denne enhetsklassen for scootere.","pl":"Tej klasy urządzeń należy używać w przypadku skuterów.","ru":"Используйте этот класс устройств для самокатов.","sv":"Använd den här enhetsklassen för skotrar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Sensor","nl":"Sensor","de":"Sensor","fr":"Capteur","it":"Sensore","sv":"Sensor","no":"Sensor","es":"Sensor","da":"Sensor","ru":"Датчик","pl":"Czujnik","ko":"센서"},"description":{"en":"Use this device class for sensors, e.g. a contact or motion sensor.","de":"Nutze diese Geräteklasse für Sensoren, z. B. ein Kontakt- oder Bewegungssensor.","fr":"Utilisez cette classe d\'appareil pour les capteurs, par ex. un capteur de contact ou de mouvement.","it":"Utilizza questa classe di dispositivi per i sensori, ad es. un sensore di contatto o di movimento.","sv":"Använd den här enhetsklassen för sensorer, t.ex. en kontakt eller rörelsesensor.","no":"Bruk denne enhetsklassen for sensorer, f.eks. en kontakt- eller bevegelsessensor.","es":"Utiliza esta clase de dispositivo para los sensores; p. ej., sensores de contacto o movimiento.","da":"Brug denne enhedsklasse til sensorer, f-eks en kontakt- eller bevægelsessensor.","ru":"Используйте этот класс устройства для датчиков, например датчиков контакта или движения.","pl":"Użyj tej klasy urządzeń dla czujników, np. czujnika otwarcia lub ruchu.","ko":"이 디바이스 클래스는 접촉 또는 모션 센서 등 센서류에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Service","nl":"Service","de":"Service","fr":"Service","it":"Servizio","sv":"Service","no":"Tjeneste","es":"Servicio","da":"Service","ru":"Сервис","pl":"Usługa","ko":"서비스"},"description":{"en":"Use this device class for devices that are not really physical devices, but (cloud) services.","de":"Verwenden Sie diese Geräteklasse für Geräte, die keine physischen Geräte sind, sondern (Cloud-)Dienste.","fr":"Utilisez cette classe d\'appareils pour les appareils qui ne sont pas vraiment physiques, mais des services (cloud).","it":"Utilizza questa classe di dispositivi per dispositivi che non sono realmente dispositivi fisici, ma servizi (cloud).","sv":"Använd den här enhetsklassen för enheter som inte är fysiska enheter, utan (moln)tjänster.","no":"Bruk denne enhetsklassen for enheter som ikke er fysiske enheter, men (sky)tjenester.","es":"Utiliza esta clase de dispositivo para los dispositivos que no son realmente dispositivos físicos, sino servicios (en la nube).","da":"Brug denne enhedsklasse til enheder, der ikke er fysiske enheder, men (cloud)tjenester.","ru":"Используйте этот класс устройств для устройств, которые не являются физическими устройствами, а (облачными) сервисами.","pl":"Użyj tej klasy urządzeń dla urządzeń, które nie są fizycznymi urządzeniami, lecz usługami (w chmurze).","ko":"이 디바이스 클래스는 실제 물리적 디바이스가 아닌 (클라우드) 서비스에 사용합니다."},"minCompatibility":"12.3.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Set-top Box","da":"Tv-modtagerboks","de":"Set-Top-Box","es":"Descodificador","fr":"Décodeur","it":"Set-top box","ko":"셋톱박스","nl":"Settopbox","no":"TV-mottaker","pl":"Dekoder","ru":"Ресивер","sv":"Digitalbox"},"description":{"en":"Use this device class for set-top boxes.","da":"Brug denne enhedsklasse til tv-modtagerbokse.","de":"Verwenden Sie diese Geräteklasse für Set-Top-Boxen.","es":"Utiliza esta clase de dispositivo para decodificadores de televisión.","fr":"Utilisez cette classe d\'appareils pour les décodeurs.","it":"Utilizza questa classe di dispositivi per i set-top box.","ko":"이 디바이스 클래스는 셋톱박스에 사용합니다.","nl":"Gebruik deze apparaatklasse voor settopboxen.","no":"Bruk denne enhetsklassen for TV-mottakere.","pl":"Tej klasy urządzeń należy używać w przypadku dekoderów.","ru":"Используйте этот класс устройств для ресиверов."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Shutter Blinds","da":"Persienner","de":"Jalousien","es":"Persianas","fr":"Volets roulants","it":"Tapparelle","ko":"셔터 블라인드","nl":"Jaloezieën","no":"Persienner","pl":"Żaluzje","ru":"Жалюзи","sv":"Persienner"},"description":{"en":"Use this device class for shutter blinds.","da":"Brug denne enhedsklasse til persienner.","de":"Verwenden Sie diese Geräteklasse für Jalousien.","es":"Utiliza esta clase de dispositivo para persianas.","fr":"Utiliser cette classe d\'appareils pour les volets roulants.","it":"Utilizza questa classe di dispositivi per le tapparelle.","ko":"이 디바이스 클래스는 셔터 블라인드에 사용합니다.","nl":"Gebruik deze apparaatklasse voor jaloezieën.","no":"Bruk denne enhetsklassen for persienner.","pl":"Tej klasy urządzeń należy używać w przypadku żaluzji.","ru":"Используйте этот класс устройств для жалюзи.","sv":"Använd den här enhetsklassen för persienner."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Siren","da":"Sirene","de":"Sirene","es":"Alarma","fr":"Sirène","it":"Allarme","ko":"사이렌","nl":"Sirene","no":"Sirene","pl":"Syrena","ru":"Сирена","sv":"Siren"},"description":{"en":"Use this device class for sirens.","da":"Brug denne enhedsklasse til sirener.","de":"Verwenden Sie diese Geräteklasse für Sirenen.","es":"Utiliza esta clase de dispositivo para alarmas.","fr":"Utilisez cette classe d\'appareils pour les sirènes.","it":"Utilizza questa classe di dispositivi per gli allarmi.","ko":"이 디바이스 클래스는 사이렌에 사용합니다.","nl":"Gebruik deze apparaatklasse voor sirenes.","no":"Bruk denne enhetsklassen for sirener.","pl":"Tej klasy urządzeń należy używać w przypadku syren.","ru":"Используйте этот класс устройств для сирен.","sv":"Använd den här enhetsklassen för sirener."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Smoke Alarm","da":"Røgalarm","de":"Rauchmelder","es":"Detector de humo","fr":"Détecteur de fumée","it":"Rilevatore di fumo","ko":"연기 알람","nl":"Rookmelder","no":"Røykvarsler","pl":"Alarm przeciwdymny","ru":"Датчик дыма","sv":"Rökalarm"},"description":{"en":"Use this device class for any smoke- or CO-alarm, could also be used for combo units.","da":"Brug denne enhedsklasse til enhver røg- eller kuliltealarm, kan også bruges til kombinationsenheder.","de":"Verwenden Sie diese Geräteklasse für jeden Rauch- oder CO-Alarm. Sie kann auch für Kombi-Geräte verwendet werden.","es":"Utiliza esta clase de dispositivo para cualquier detector de humo o CO2. También puede servir para unidades que combinen ambas funciones.","fr":"Cette classe d\'appareils peut être utilisée pour n\'importe quel détecteur de fumée ou de CO, ainsi que pour les unités combinées.","it":"Utilizza questa classe di dispositivi per qualsiasi rilevatore di fumo o di monossido di carbonio. Può essere utilizzata anche per unità combinate.","ko":"이 디바이스 클래스는 연기 및 CO 알람 경보기에 사용하며, 콤보 유닛에도 사용할 수 있습니다.","nl":"Gebruik deze apparaatklasse voor elk rook- of CO-melder, kan ook worden gebruikt voor gecombineerde eenheden.","no":"Bruk denne enhetsklassen for alle slags røyk- eller kullosvarslere. Kan også brukes for kombienheter.","pl":"Tej klasy urządzeń można używać w przypadku dowolnego alarmu dymnego lub CO, a także w przypadku urządzeń typu combo.","ru":"Используйте этот класс устройств для датчиков дыма или угарного газа любого типа; также можно использовать для комбинированных устройств.","sv":"Använd den här enhetsklassen för alla rök- eller CO-larm, kan även användas för kombienheter."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Wall Plug","nl":"Schakeldoos","de":"Steckdose","fr":"Prise murale","it":"Presa a muro","sv":"Väggkontakt","no":"Veggkontakt","es":"Enchufe de pared","da":"Stikkontakt","ru":"Настенная розетка","pl":"Wtyczka","ko":"벽면 콘센트"},"description":{"en":"Use this device class for sockets (built-in or plug-in socket switches). When adding the `choose_slave` pair template, the user is presented a `What\'s plugged in?` question.","de":"Nutze diese Geräteklasse für Sockel (eingebaut oder zum zum Einstecken). Wenn das `choose_slave`-Paar-Template hinzugefügt wird, wird dem Benutzer eine `Was ist eingesteckt?`-Frage gestellt.","fr":"Utilisez cette classe d\'appareil pour les prises (intégrées ou prises d\'interrupteurs). En ajoutant le modèle d\'appairage `choose_slave`, il est demandé à l\'utilisteur `Qu\'est-ce qui est connecté ?`.","it":"Utilizza questa classe di dispositivi per le prese (prese integrate o interruttori). Aggiungendo il modello di abbinamento `choose_slave`, viene chiesto all\'utente `Cosa è collegato?`.","sv":"Använd den här enhetsklassen för uttag (inbyggda eller stickkontakter). När parmallen `choose_slave` får användaren en `Vad är inkopplat?`-fråga.","no":"Bruk denne enhetsklassen for kontakter (innebygde eller eksterne kontaktenheter). Når sammenkoblingsmalen `choose_slave` legges til, får brukeren et `Hva er koblet til?`-spørsmål.","es":"Utiliza esta clase de dispositivo para los enchufes (interruptores de enchufe integrados o enchufables). Al añadir la plantilla de emparejamiento `choose_slave`, al usuario se le pregunta `¿Qué está enchufado?`.","da":"Brug denne enhedsklasse til kontakter (indbyggede eller eksterne kontaktenheder). Når `choose_slave` parskabelonen tilføjes, bliver brugeren præsenteret for et `Hvad er sat til?` spørgsmål.","ru":"Используйте этот класс устройства для розеток (встроенных или вставных выключателей). При добавлении шаблона сопряжения `choose_slave` пользователю предлагается ответить на вопрос: `Что подключено?`.","pl":"Użyj tej klasy urządzeń dla gniazdek elektrycznych (wbudowanych lub wtyczek). Podczas dodawania szablonu parowania `choose_slave` pojawi się pytanie: `Co jest podłączone?`.","ko":"이 디바이스 클래스는 (빌트인 및 플러그인 방식 소켓 스위치 등) 콘센트에 사용합니다. \'choose_slave\' 페어링 템플릿을 추가하면 사용자에게 \'무엇을 꽂으셨습니까?\' 질문이 표시됩니다."},"virtualTitle":{"en":"Plugged in","nl":"Aangesloten","de":"Angeschlossen","fr":"Branché","it":"Collegato","sv":"Inkopplad","no":"Plugget inn","es":"Conectado","da":"Tilsluttet","ru":"Подключено","pl":"Podłączone","ko":"꽂힘"},"allowedVirtual":["light","fan","heater","coffeemachine","kettle","tv","solarpanel","airconditioning","airfryer","boiler","cooktop","dishwasher","dryer","evcharger","freezer","fridge","fridge_and_freezer","fryer","grill","heatpump","mediaplayer","microwave","multicooker","networkrouter","oven","washer","washer_and_dryer","waterpurifier","oven_and_microwave"]}')},function(e){e.exports=JSON.parse('{"title":{"en":"Solar Panel","nl":"Zonnepaneel","sv":"Solpanel","no":"Solpanel","es":"Panel solar","da":"Solpanel","ru":"Солнечная панель","pl":"Panel fotowoltaiczny","ko":"태양광 패널"},"description":{"en":"Use this device class for solar panels.","es":"Utiliza esta clase de dispositivo para los paneles solares.","da":"Brug denne enhedsklasse til solpaneler.","ru":"Используйте этот класс устройств для солнечных панелей.","pl":"Użyj tej klasy urządzeń dla paneli fotowoltaicznych.","ko":"이 디바이스 클래스는 태양광 패널에 사용합니다.","no":"Bruk denne enhetsklassen for solpaneler."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Speaker","nl":"Speaker","de":"Lautsprecher","fr":"Haut-parleur","it":"Altoparlante","sv":"Högtalare","no":"Høyttaler","es":"Altavoz","da":"Højttaler","ru":"Колонка","pl":"Głośnik","ko":"스피커"},"description":{"en":"Use this device class for devices that can play music, usually together with the `speaker_*` capabilities.","de":"Nutze diese Geräteklasse für Geräte, die Musik spielen können - normalerweise zusammen mit den `speaker_*`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pour les appareils qui peuvent jouer de la musique, généralement avec la capacité `speaker_*`.","it":"Utilizza questa classe di dispositivi per i dispositivi che possono riprodurre musica, generalmente insieme alla funzione `speaker_*`.","sv":"Använd den här enhetsklassen för enheter som kan spela musik, oftast tilsammans med funktionerna `speaker_*`.","no":"Bruk denne enhetsklassen for enheter som kan spille musikk, ofte sammen med funksjonen `speaker_*`.","es":"Utiliza esta clase de dispositivo para los aparatos capaces de reproducir música, generalmente junto con las capacidades `speaker_*`.","da":"Brug denne enhedsklasse til enheder, der kan afspille musik, normalt sammen med `speaker_*` funktionerne.","ru":"Используйте этот класс устройств для устройств, воспроизводящих музыку, обычно вместе с функцией `speaker_*`.","pl":"Użyj tej klasy urządzeń dla produktów, które mogą odtwarzać muzykę, zwykle razem ze zdolnością `speaker_*`.","ko":"이 디바이스 클래스는 음악을 재생할 수 있고 보통 `speaker_*` 기능을 갖춘 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Sprinkler","da":"Sprinkler","de":"Sprinkleranlage","es":"Aspersor","fr":"Arrosage","it":"Irrigatore","ko":"스프링클러","nl":"Sprinkler","no":"Sprinkler","pl":"Zraszacz","ru":"Спринклер","sv":"Sprinkler"},"description":{"en":"Use this device class for sprinkler systems.","da":"Brug denne enhedsklasse til sprinklersystemer.","de":"Verwenden Sie diese Geräteklasse für Sprinkleranlagen.","es":"Utiliza esta clase de dispositivo para sistemas de riego.","fr":"Utilisez cette classe d\'appareils pour les systèmes d\'arrosage.","it":"Utilizza questa classe di dispositivi per i sistemi di irrigazione.","ko":"이 디바이스 클래스는 스프링클러 시스템에 사용합니다.","nl":"Gebruik deze apparaatklasse voor sprinklersystemen.","no":"Bruk denne enhetsklassen for sprinkleranlegg.","pl":"Tej klasy urządzeń należy używać w instalacjach zraszaczy.","ru":"Используйте этот класс устройств для спринклерных систем.","sv":"Använd den här enhetsklassen för sprinklersystem."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Sunshade","nl":"Zonnescherm","de":"Sonnenschirm","fr":"Auvent","it":"Parasole","sv":"Markis","no":"Markise","es":"Toldo","da":"Markise","ru":"Навес","pl":"Markiza","ko":"선셰이드"},"description":{"en":"Use this device class for sunshades (window coverings against the sun).","de":"Nutze diese Geräteklasse für Jalousien (Fenster-Abdeckungen gegen die Sonne).","fr":"Utilisez cette classe d\'appareil pour les auvents (couvrant les fenêtres contre le soleil).","it":"Utilizza questa classe di dispositivi per gli scuretti (che riparano le finestre dal sole).","sv":"Använd den här enhetsklassen för markiser (fönsterskydd mot solen).","no":"Bruk denne enhetsklassen for markiser (vindusbeskyttelse mot solen).","es":"Utiliza esta clase de dispositivo para los toldos (para proteger las ventanas del sol).","da":"Brug denne enhedsklasse til markiser (vinduesdække mod solen).","ru":"Используйте этот класс устройств для навесов (оконных навесов от солнца).","pl":"Użyj tej klasy urządzeń dla markiz (osłony okienne chroniące przed słońcem).","ko":"이 디바이스 클래스는 선셰이드(햇빛을 막아주는 창문 덮개)에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Thermostat","nl":"Thermostaat","de":"Thermostat","fr":"Thermostat","it":"Termostato","sv":"Termostat","no":"Termostat","es":"Termostato","da":"Termostat","ru":"Термостат","pl":"Termostat","ko":"온도조절기"},"description":{"en":"Use this device class for thermostats, either for the entire home or radiator-mounted, usually together with the `measure_temperature`, `target_temperature` and `thermostat_mode` capabilities.","de":"Nutze diese Geräteklasse für Thermostate, entweder für das gesamte Heim oder pro Heizung - normalerweise zusammen mit den `measure_temperature`-, `target_temperature`- und `thermostat_mode`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pour les thermostats, soit pour toute la maison soit montés sur radiateurs, généralemebnt avec les capacités `measure_temperature`, `target_temperature` et `thermostat_mode`.","it":"Utilizza questa classe di dispositivi per i termostati, sia quelli per l\'intera casa che quelli montati sul radiatore, solitamente insieme alle funzionalità `measure_temperature`,`target_temperature` e `thermostat_mode`.","sv":"Använd den här enhetsklassen för termostater, antingen för hela hemmet eller elementmonterade, oftast tillsammans med funktionerna `measure_temperature`, `target_temperature` och `thermostat_mode`.","no":"Bruk denne enhetsklassen for termostater, enten for hele hjemmet eller monterte på varmeelement, ofte sammen med funksjonene `measure_temperature`, `target_temperature` og `thermostat_mode`.","es":"Utiliza esta clase de dispositivo para los termostatos, tanto los de toda la casa como los montados en los radiadores, generalmente junto con las capacidades `measure_temperature`, `target_temperature` y `thermostat_mode`.","da":"Brug denne enhedsklasse til termostater, enten til hele hjemmet eller på radiatorer, normalt sammen med `measure_temperature`, `target_temperature` og `thermostat_mode` funktionerne.","ru":"Используйте этот класс устройств для термостатов для всего дома или для термостатов на радиаторах, обычно вместе с функциями `measure_temperature`, `target_temperature` и `thermostat_mode`.","pl":"Użyj tej klasy urządzeń dla termostatów, zarówno dla całego domu, jak i urządzeń podłączanych do kaloryferów; zwykle razem ze zdolnościami `measure_temperature`, `target_temperature` oraz `thermostat_mode`.","ko":"이 디바이스 클래스는 집 전체 또는 특정 라디에이터의 온도를 조절하고 보통 \'measure_temperature\', \'target_temperature\', \'thermostat_mode\' 기능을 갖춘 온도조절기에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"TV","nl":"TV","de":"TV","fr":"TV","it":"TV","sv":"TV","no":"TV","es":"TV","da":"TV","ru":"Телевизор","pl":"Telewizor","ko":"TV"},"description":{"en":"Use this device class for TVs.","de":"Nutze diese Geräteklasse für TVs","fr":"Utilisez cette classe d\'appareil pour les TV","it":"Utilizza questa classe di dispositivi per i televisori.","sv":"Använd den här enhetsklassen för TV-apparater.","no":"Bruk denne enhetsklassen for TV-apparater.","es":"Utiliza esta clase de dispositivo para los televisores.","da":"Brug denne enhedsklasse til TV-apparater.","ru":"Используйте этот класс устройств для телевизоров.","pl":"Użyj tej klasy urządzeń dla telewizorów.","ko":"이 디바이스 클래스는 TV에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Vacuum Cleaner","nl":"Stofzuiger","de":"Staubsauger","fr":"Aspirateur","it":"Aspirapolvere","sv":"Dammsugare","no":"Støvsuger","es":"Aspiradora","da":"Støvsuger","ru":"Пылесос","pl":"Odkurzacz","ko":"진공청소기"},"description":{"en":"Use this device class for vacuum cleaners, usually together with the `vacuumcleaner_state` capability.","de":"Nutze diese Geräteklasse für Staubsauger - normalerweise zusammen mit der `vacuumcleaner_state`-Fähigkeit.","fr":"Utilisez cette classe d\'appareil pour les aspirateurs, habituellement avec la capacité `vacuumcleaner_state`.","it":"Utilizza questa classe di dispositivi per gli aspirapolvere, generalmente insieme alla funzionalità `vacuumcleaner_state`.","sv":"Använd den här enhetsklassen för dammsugare, oftast tillsammans med funktionen `vacuumcleaner_state`.","no":"Bruk denne enhetsklassen for støvsugere, ofte sammen med funksjonen `vacuumcleaner_state`.","es":"Utiliza esta clase de dispositivo para las aspiradoras, generalmente junto con la capacidad `vacuumcleaner_state`.","da":"Brug denne enhedsklasse til støvsugere, normalt sammen med `vacuumcleaner_state` funktionen.","ru":"Используйте этот класс устройств для пылесосов, обычно вместе с функцией `vacuumcleaner_state`.","pl":"Użyj tej klasy urządzeń dla odkurzaczy, zwykle razem ze zdolnością `vacuumcleaner_state`.","ko":"이 디바이스 클래스는 보통 \'vacuumcleaner_state\' 기능을 갖춘 진공청소기에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Vehicle","da":"Køretøj","de":"Fahrzeug","es":"Vehículo","fr":"Véhicule","it":"Veicolo","ko":"탈것","nl":"Voertuig","no":"Kjøretøy","pl":"Pojazd","ru":"Транспортное средство","sv":"Fordon"},"description":{"en":"Use this device class for any type of vehicle, when the `car`, `bicycle` or `scooter` device class doesn\'t apply.","da":"Brug denne enhedsklasse til alle typer køretøjer, når enhedsklassen `bil`, `cykel` eller `scooter` ikke gælder.","de":"Verwenden Sie diese Geräteklasse für jede Art von Fahrzeug, wenn die Geräteklassen „Auto“, „Fahrrad“ oder „Motorroller“ nicht zutreffen.","es":"Utiliza esta clase de dispositivo para cualquier tipo de vehículo que no pertenezca a las clases \\"Coche\\", \\"Bicicleta\\" o \\"Scooter\\".","fr":"Utilisez cette classe d\'appareils pour tout type de véhicule, lorsque la classe d\'appareils \\"voiture\\", \\"vélo\\" ou \\"trotinette\\" ne s\'applique pas.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di veicolo, quando la classe \\"automobile\\", \\"bicicletta\\" o \\"scooter\\" non è applicabile.","ko":"이 디바이스 클래스는 \'car\', \'bicycle\', \'scooter\' 디바이스가 적용되지 않는 모든 종류의 탈것에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type voertuig, wanneer de apparaatklasse \'auto\', \'fiets\' of \'scooter\' niet van toepassing is.","no":"Bruk denne enhetsklassen for alle typer kjøretøy som ikke dekkes av enhetsklassene\\n«bil», «sykkel» eller «scooter».","pl":"Tej klasy urządzeń należy używać dla dowolnego typu pojazdu, gdy klasa urządzeń „samochód”, „rower” lub „skuter” nie ma zastosowania.","ru":"Используйте этот класс устройств для транспортных средств любого типа, которые не относятся к классу устройств «автомобиль», «велосипед» или «самокат».","sv":"Använd den här enhetsklassen för alla typer av fordon, när enhetsklassen \\"bil\\", \\"cykel\\" eller \\"skoter\\" inte är tillämplig."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형입니까?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["bicycle","car","scooter"],"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Washing Machine","da":"Vaskemaskine","de":"Waschmaschine","es":"Lavadora","fr":"Lave-linge","it":"Lavatrice","ko":"세탁기","nl":"Wasmachine","no":"Vaskemaskin","pl":"Pralka","ru":"Стиральная машина","sv":"Tvättmaskin"},"description":{"en":"Use this device class for washing machines, if it is a combination washer/dryer use \'washer_and_dryer\'.","da":"Brug denne enhedsklasse til vaskemaskiner. Hvis det er en kombineret vaskemaskine/tørretumbler, skal du bruge \'washer_and_dryer\'.","de":"Verwenden Sie diese Geräteklasse für Waschmaschinen. Wenn es sich um eine Kombination aus Waschmaschine und Trockner handelt, verwenden Sie „washer_and_dryer“.","es":"Utiliza esta clase de dispositivo para lavadoras. Si se trata de un equipo que contiene funciones de lavadora y secadora, utiliza la clase \'washer_and_dryer\'.","fr":"Utilisez cette classe d\'appareils pour les machines à laver ; s\'il s\'agit d\'une combinaison lave-linge/sèche-linge, utilisez \\"washer_and_dryer\\".","it":"Utilizza questa classe di dispositivi per le lavatrici; se si tratta di una lavatrice/asciugatrice combinata, utilizza \\"washer_and_dryer\\".","ko":"이 디바이스 클래스는 세탁기에 사용하고, 세탁기/건조기 일체형의 경우 \'washer_and_dryer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor wasmachines, als het een was/droogcombinatie is gebruik dan \'washer_and_dryer\'.","no":"Bruk denne enhetsklassen for vaskemaskiner. For en kombinert vaskemaskin/tørketrommel, bruk «washer_and_dryer».","pl":"Tej klasy urządzeń należy używać w przypadku pralek, a jeśli jest to pralko-suszarka, należy użyć klasy „washer_and_dryer”.","ru":"Используйте этот класс устройств для стиральных машин; в случае стиральной машины-сушилки используйте washer_and_dryer.","sv":"Använd den här enhetsklassen för tvättmaskiner, om det är en kombinerad tvättmaskin/torktumlare ska du använda \'washer_and_dryer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Washer & Dryer","da":"Vaskemaskine og tørretumbler","de":"Waschmaschine mit Trockner","es":"Lavadora-secadora","fr":"Lave-linge et sèche-linge","it":"Lavatrice e asciugatrice","ko":"세탁건조기","nl":"Wasmachine & droger","no":"Vaskemaskin og tørketrommel","pl":"Pralko-suszarka","ru":"Стиральная машина и сушилка","sv":"Tvättmaskin och torktumlare"},"description":{"en":"Use this device class for any kind of washer and dryer combination.","da":"Brug denne enhedsklasse til enhver form for kombination af vaskemaskine og tørretumbler.","de":"Verwenden Sie diese Geräteklasse für jede Art von Waschmaschinen- und Trocknerkombis.","es":"Utiliza esta clase de dispositivo para cualquier equipo que tenga funciones de lavadora y secadora.","fr":"Cette classe d\'appareils peut être utilisée pour n\'importe quelle combinaison de lave-linge et de sèche-linge.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di combinazione di lavatrice e asciugatrice.","ko":"이 디바이스 클래스는 모든 종류의 일체형 세탁건조기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke was/droogcombinatie.","no":"Bruk denne enhetsklassen for alle slags kombinasjoner av vaskemaskin og tørketrommel.","pl":"Tej klasy urządzenia należy używać do każdego rodzaju pralko-suszarki.","ru":"Используйте этот класс устройств для любой комбинации стиральной и сушильной машин.","sv":"Använd den här enhetsklassen för alla typer av tvättmaskin och torktumlare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Water Heater","da":"Vandvarmer","de":"Warmwasserbereiter","es":"Calentador de agua","fr":"Chauffe-eau","it":"Scaldabagno","ko":"온수기","nl":"Boiler","no":"Varmtvannsbereder","pl":"Podgrzewacz wody","ru":"Водонагреватель","sv":"Varmvattenberedare"},"description":{"en":"Use this device class for water heaters.","da":"Brug denne enhedsklasse til vandvarmere.","de":"Verwenden Sie diese Geräteklasse für Warmwasserbereiter.","es":"Utiliza esta clase de dispositivo para calentadores de agua.","fr":"Utilisez cette classe d\'appareils pour les chauffe-eau.","it":"Utilizza questa classe di dispositivi per gli scaldabagno.","ko":"이 디바이스 클래스는 온수기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor boilers.","no":"Bruk denne enhetsklassen for varmtvannsberedere.","pl":"Tej klasy urządzeń należy używać do podgrzewaczy wody.","ru":"Используйте этот класс устройств для водонагревателей.","sv":"Använd den här enhetsklassen för varmvattenberedare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Water Purifier","da":"Vandrensningsanlæg","de":"Wasseraufbereiter","es":"Purificador de agua","fr":"Purificateur d\'eau","it":"Depuratore d\'acqua","ko":"정수기","nl":"Waterzuiveraar","no":"Vannrenser","pl":"Oczyszczacz wody","ru":"Очиститель воды","sv":"Vattenrenare"},"description":{"en":"Use this device class for water purifiers.","da":"Brug denne enhedsklasse til vandrensningsanlæg.","de":"Verwenden Sie diese Geräteklasse für Wasseraufbereiter.","es":"Utiliza esta clase de dispositivo para purificadores de agua.","fr":"Utilisez cette classe d\'appareils pour les purificateurs d\'eau.","it":"Utilizza questa classe di dispositivi per i depuratori d\'acqua.","ko":"이 디바이스 클래스는 정수기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor waterzuiveraars.","no":"Bruk denne enhetsklassen for vannrensere.","pl":"Tej klasy urządzeń należy używać w przypadku oczyszczaczy wody.","ru":"Используйте этот класс устройств для очистителей воды.","sv":"Använd den här enhetsklassen för vattenrenare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Water Valve","da":"Vandventil","de":"Wasserventil","es":"Válvula de agua","fr":"Robinet d\'adduction d\'eau","it":"Valvola idraulica","ko":"워터 밸브","nl":"Waterklep","no":"Vannventil","pl":"Zawór wodny","ru":"Водяной клапан","sv":"Vattenventil"},"description":{"en":"Use this device class for mechanical water valves.","da":"Brug denne enhedsklasse til mekaniske vandventiler.","de":"Verwenden Sie diese Geräteklasse für mechanische Wasserventile.","es":"Utiliza esta clase de dispositivo para válvulas mecánicas de agua.","fr":"Utilisez cette classe d\'appareils pour les robinet d\'adduction d\'eau mécaniques.","it":"Utilizza questa classe di dispositivi per le valvole idrauliche meccaniche.","ko":"이 디바이스 클래스는 기계식 워터 밸브에 사용합니다.","nl":"Gebruik deze apparaatklasse voor mechanische waterkleppen.","no":"Bruk denne enhetsklassen for mekaniske vannventiler.","pl":"Tej klasy urządzeń należy używać w przypadku mechanicznych zaworów wodnych.","ru":"Используйте этот класс устройств для механических водяных клапанов.","sv":"Använd den här apparatklassen för mekaniska vattenventiler."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window Coverings","nl":"Raambekleding","de":"Fenster-Abdeckungen","fr":"Couverture de fenêtre","it":"Rivestimenti per finestre","sv":"Fönsterskydd","no":"Vindusbeskyttelse","es":"Cobertores de ventanas","da":"Vinduesdække","ru":"Оконные навесы","pl":"Osłony okienne","ko":"창문 덮개"},"description":{"en":"Use this device class for window coverings, when the `curtains`, `blinds` or `sunshade` device class doesn\'t apply.","de":"Nutze diese Geräteklasse für Fenster-Abdeckungen, wenn `curtains`-, `blinds`- oder `sunshade`-Geräteklassen nicht zutreffen.","fr":"Utilisez cette classe d\'appareil pour les couvertures de fenêtre, lorsque la classe d\'appareil `curtains`, `blinds` ou `sunshade` ne s\'applique pas.","it":"Utilizza questa classe di dispositivi per i rivestimenti per finestre, quando non rientrano nelle classi `curtains`, `blinds` o `sunshade`.","sv":"Använd den här enhetsklassen för fönsterskydd när enhetsklasserna `curtains`, `blinds` eller `sunshade` inte gäller.","no":"Bruk denne enhetsklassen for vindusskjerming som ikke dekkes av enhetsklassene «gardiner», «persienner» eller «markise».","es":"Utiliza esta clase de dispositivo para los cobertores de ventanas que no entren en las clases `curtains`, `blinds` o `sunshade`.","da":"Brug denne enhedsklasse til vinduesdække, når enhedsklasserne `curtains`, `blinds` og `sunshade` ikke er gældende.","ru":"Используйте этот класс устройств для оконных навесов, когда классы устройств `curtains`, `blinds` или `sunshade` не подходят.","pl":"Użyj tej klasy urządzeń dla osłon okiennych o innej klasie urządzenia niż `curtains`, `blinds` lub `sunshade`.","ko":"이 디바이스 클래스는 \'curtains\', \'blinds\', \'sunshade\' 디바이스 클래스가 적용되지 않는 창문 덮개에 사용합니다."},"virtualTitle":{"en":"What\'s the type?","nl":"Wat voor type is dit?","de":"Um welchen Typ handelt es sich?","fr":"Quel est le type ?","it":"Qual è il tipo?","sv":"Vad är det för typ?","no":"Hvilken type er det?","es":"¿Cuál es el tipo?","da":"Hvad er typen?","ru":"Какой тип?","pl":"Wybierz rodzaj?","ko":"어떤 유형입니까?"},"allowedVirtual":["sunshade","blinds","curtain","shutterblinds"]}')},function(e,t,a){"use strict";function r(e,t,a){let r=!0;return e instanceof Array?e.forEach(e=>{(ea)&&(r=!1)}):"number"==typeof e&&(ea)&&(r=!1),r}function i(e){return"string"==typeof e&&/^(([0-9a-f]{4}\s?){2}){2,}$/i.test(e)}const n={min:1,max:1e3},s={min:0,max:.5};function o(e,t){const a={result:!0,msg:"invalid_"+this};return e instanceof Array?(t.packing?e.some(e=>!(e>=0&&e<=255))&&(a.result=!1):e.some(e=>!t.words||!t.words[e])&&(a.result=!1),a):(a.result=!1,a)}const l={words(e,t){const a={result:!0,msg:"invalid_words"};return!(e instanceof Array)||e.length<=1?(a.result=!1,a):(e.forEach(e=>{if(!(e instanceof Array)||e.length<=1)return a.result=!1,a}),a)},agc:(e,t)=>({result:e instanceof Array,msg:"invalid_agc"}),sof:(e,t)=>({result:e instanceof Array,msg:"invalid_sof"}),toggleSof:(e,t)=>({result:e instanceof Array,msg:"invalid_toggleSof"}),eof:(e,t)=>({result:e instanceof Array,msg:"invalid_eof"}),manchesterUnit:(e,t)=>({result:"number"==typeof e,msg:"invalid_manchesterUnit"}),manchesterMaxUnits:(e,t)=>({result:"number"==typeof e&&e>=n.min,msg:"invalid_manchesterMaxUnits"}),sensitivity:(e,t)=>({result:"number"==typeof e&&r(e,s.min,s.max),msg:"invalid_sensitivity"}),interval:(e,t)=>({result:"number"==typeof e,msg:"invalid_signalinterval"}),minimalLength:(e,t)=>({result:e>0,msg:"invalid_minimalLength"}),maximalLength:(e,t)=>({result:e>0,msg:"invalid_maximalLength"}),packing:(e,t)=>({result:"boolean"==typeof e&&t.words&&2==t.words.length,msg:"invalid_packing"}),dutyCycle:(e,t)=>({result:"number"==typeof e,msg:"invalid_dutyCycle"}),txOnly:(e,t)=>({result:"boolean"==typeof e,msg:"invalid_txOnly"}),cmds(e,t){const a={result:!0,msg:"invalid_cmd"};return Object.keys(e).forEach(r=>{o(e[r],t).result||(a.result=!1)}),a},toggleIndexes:(e,t)=>({result:e instanceof Array&&!e.some(e=>e>=t.sof.length),msg:"invalid_toggleIndexes"}),toggleBits:(e,t)=>({result:e instanceof Array,msg:"invalid_toggleBits"}),prefixData:o.bind("prefixData"),postfixData:o.bind("postfixData")},d={timeInterval:{min:5,max:32767},manchesterInterval:{min:0,max:1},rxTimeout:{min:0,max:255},repetitions:{min:1,max:255}},u={words(e,t){const a={result:!0,msg:"word_interval_out_of_bounds"},i=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return e.forEach(e=>{r(e,i.min,i.max)||(a.result=!1)}),a},agc(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"agc_out_of_bounds"}},toggleSof(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"toggleSof_out_of_bounds"}},sof(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"sof_out_of_bounds"}},eof(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"eof_out_of_bounds"}},repetitions:(e,t)=>({result:r(e,d.repetitions.min,d.repetitions.max),msg:"repetitions_out_of_bounds"}),interval:(e,t)=>({result:r(e,d.timeInterval.min,d.timeInterval.max),msg:"interval_out_of_bounds"}),rxTimeout:(e,t)=>({result:r(e,d.rxTimeout.min,d.rxTimeout.max),msg:"rxTimeout_out_of_bounds"}),manchesterUnit:(e,t)=>({result:r(e,d.timeInterval.min,d.timeInterval.max),msg:"manchesterUnit_out_of_bounds"})},p={min:1e3,max:2e5},m={min:58e3,max:812e3},c={min:5e3,max:5e4},h={modulation(e,t){const a=["type","baudRate","channelSpacing","channelDeviation"],i={result:!0,msg:"invalid_modulation_properties"};for(let t=0;t({result:!Object.keys(e).some(t=>!i(e[t])),msg:"invalid_pronto_cmds"}),toggleCmds:(e,t)=>({result:!Object.keys(e).some(t=>!i(e[t])),msg:"invalid_pronto_toggleCmds"}),repetitions:(e,t)=>({result:r(e,d.repetitions.min,d.repetitions.max),msg:"repetitions_out_of_bounds"})},f={carrier:(e,t)=>({result:r(e,433e6,43399e4),msg:"carrier_out_of_bounds"})},g={min:868e6,max:8689e5},k={carrier:(e,t)=>({result:r(e,g.min,g.max),msg:"carrier_out_of_bounds"})},y={min:3e4,max:58e3},b={min:30,max:70},w={carrier:(e,t)=>({result:r(e,y.min,y.max),msg:"invalid_carrier"}),dutyCycle:(e,t)=>({result:r(e,b.min,b.max),msg:"dutyCycle_out_of_bounds"})};e.exports={validate:function(e,t,a){for(const r in a){const i=a[r],n=e[r];if("function"==typeof n){const e=n(i,a);t(e.msg,e.result)}}},genericValidator:l,irValidator:w,rfValidator:u,rf433Validator:f,rf868Validator:k,modulationValidator:h,prontoValidator:v}},function(e){e.exports=JSON.parse('{"USD":"$","CAD":"$","EUR":"€","AED":"د.إ.‏","AFN":"؋","ALL":"Lek","AMD":"դր.","ARS":"$","AUD":"$","AZN":"ман.","BAM":"KM","BDT":"৳","BGN":"лв.","BHD":"د.ب.‏","BIF":"FBu","BND":"$","BOB":"Bs","BRL":"R$","BWP":"P","BYR":"BYR","BZD":"$","CDF":"FrCD","CHF":"CHF","CLP":"$","CNY":"CN¥","COP":"$","CRC":"₡","CVE":"CV$","CZK":"Kč","DJF":"Fdj","DKK":"kr","DOP":"RD$","DZD":"د.ج.‏","EEK":"kr","EGP":"ج.م.‏","ERN":"Nfk","ETB":"Br","GBP":"£","GEL":"GEL","GHS":"GH₵","GNF":"FG","GTQ":"Q","HKD":"$","HNL":"L","HRK":"kn","HUF":"Ft","IDR":"Rp","ILS":"₪","INR":"টকা","IQD":"د.ع.‏","IRR":"﷼","ISK":"kr","JMD":"$","JOD":"د.أ.‏","JPY":"¥","KES":"Ksh","KHR":"៛","KMF":"FC","KRW":"₩","KWD":"د.ك.‏","KZT":"тңг.","LBP":"ل.ل.‏","LKR":"SL Re","LTL":"Lt","LVL":"Ls","LYD":"د.ل.‏","MAD":"د.م.‏","MDL":"MDL","MGA":"MGA","MKD":"MKD","MMK":"K","MOP":"MOP$","MUR":"MURs","MXN":"$","MYR":"RM","MZN":"MTn","NAD":"N$","NGN":"₦","NIO":"C$","NOK":"kr","NPR":"नेरू","NZD":"$","OMR":"ر.ع.‏","PAB":"B/.","PEN":"S/.","PHP":"₱","PKR":"₨","PLN":"zł","PYG":"₲","QAR":"ر.ق.‏","RON":"RON","RSD":"дин.","RUB":"руб.","RWF":"FR","SAR":"ر.س.‏","SDG":"SDG","SEK":"kr","SGD":"$","SOS":"Ssh","SYP":"ل.س.‏","THB":"฿","TND":"د.ت.‏","TOP":"T$","TRY":"TL","TTD":"$","TWD":"NT$","TZS":"TSh","UAH":"₴","UGX":"USh","UYU":"$","UZS":"UZS","VEF":"Bs.F.","VND":"₫","XAF":"FCFA","XOF":"CFA","YER":"ر.ي.‏","ZAR":"R","ZMK":"ZK"}')},function(e,t,a){"use strict";try{const t=a(1),r=a(21),i=a(1),n=a(322);t&&i&&i.promisify&&(e.exports.openAsync=i.promisify(t.open),e.exports.closeAsync=i.promisify(t.close),e.exports.readAsync=i.promisify(t.read),e.exports.statAsync=i.promisify(t.stat),e.exports.readFileAsync=i.promisify(t.readFile),e.exports.readDirAsync=i.promisify(t.readdir),e.exports.lstatAsync=i.promisify(t.lstat),e.exports.imageSizeAsync=i.promisify(n)),r&&(e.exports.join=r.join,e.exports.extname=r.extname,e.exports.basename=r.basename,e.exports.dirname=r.dirname)}catch(e){}},function(e,t,a){"use strict";(function(t){var r=a(1),i=a(21),n=a(22),s=a(334);function o(e,t){var a=s(e,t);if(a in n){var r=n[a].calculate(e,t);if(!1!==r)return r.type=a,r}throw new TypeError("unsupported file type: "+a+" (file: "+t+")")}e.exports=function(e,a){if(t.isBuffer(e))return o(e);if("string"!=typeof e)throw new TypeError("invalid invocation");var n=i.resolve(e);if("function"!=typeof a)return o(function(e){var a=r.openSync(e,"r"),i=r.fstatSync(a).size,n=Math.min(i,524288),s=new t(n);return r.readSync(a,s,0,n,0),r.closeSync(a),s}(n),n);!function(e,a){r.open(e,"r",(function(i,n){if(i)return a(i);r.fstat(n,(function(i,s){if(i)return a(i);var o=s.size;if(o<=0)return a(new Error("File size is not greater than 0 —— "+e));var l=Math.min(o,524288),d=new t(l);r.read(n,d,0,l,0,(function(e){if(e)return a(e);r.close(n,(function(e){a(e,d)}))}))}))}))}(n,(function(e,t){if(e)return a(e);var r;try{r=o(t,n)}catch(t){e=t}a(e,r)}))},e.exports.types=Object.keys(n)}).call(this,a(2).Buffer)},function(e,t,a){"use strict";e.exports={detect:function(e){return"BM"===e.toString("ascii",0,2)},calculate:function(e){return{width:e.readUInt32LE(18),height:Math.abs(e.readInt32LE(22))}}}},function(e,t,a){"use strict";e.exports={detect:function(e){return 0===e.readUInt16LE(0)&&2===e.readUInt16LE(2)},calculate:a(23).calculate}},function(e,t,a){"use strict";e.exports={detect:function(e){return 542327876===e.readUInt32LE(0)},calculate:function(e){return{height:e.readUInt32LE(12),width:e.readUInt32LE(16)}}}},function(e,t,a){"use strict";var r=/^GIF8[79]a/;e.exports={detect:function(e){var t=e.toString("ascii",0,6);return r.test(t)},calculate:function(e){return{width:e.readUInt16LE(6),height:e.readUInt16LE(8)}}}},function(e,t,a){"use strict";function r(e,t){return{height:e.readUInt16BE(t),width:e.readUInt16BE(t+2)}}function i(e,t){if(t>e.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==e[t])throw new TypeError("Invalid JPG, marker table corrupted")}e.exports={detect:function(e){return"ffd8"===e.toString("hex",0,2)},calculate:function(e){var t,a;for(e=e.slice(4);e.length;){if(t=e.readUInt16BE(0),i(e,t),192===(a=e[t+1])||193===a||194===a)return r(e,t+5);e=e.slice(t+2)}throw new TypeError("Invalid JPG, no size found")}}},function(e,t,a){"use strict";e.exports={detect:function(e){if("PNG\r\n\n"===e.toString("ascii",1,8)){var t=e.toString("ascii",12,16);if("CgBI"===t&&(t=e.toString("ascii",28,32)),"IHDR"!==t)throw new TypeError("invalid png");return!0}},calculate:function(e){return"CgBI"===e.toString("ascii",12,16)?{width:e.readUInt32BE(32),height:e.readUInt32BE(36)}:{width:e.readUInt32BE(16),height:e.readUInt32BE(20)}}}},function(e,t,a){"use strict";e.exports={detect:function(e){return"8BPS"===e.toString("ascii",0,4)},calculate:function(e){return{width:e.readUInt32BE(18),height:e.readUInt32BE(14)}}}},function(e,t,a){"use strict";var r=/]+[^>]*>/;var i=/]+>/,n=/\bwidth=(['"])([^%]+?)\1/,s=/\bheight=(['"])([^%]+?)\1/,o=/\bviewBox=(['"])(.+?)\1/;function l(e){var t=e.split(" ");return{width:parseInt(t[2],10),height:parseInt(t[3],10)}}e.exports={detect:function(e){return r.test(e)},calculate:function(e){var t=e.toString("utf8").match(i);if(t){var a=function(e){var t=e.match(n),a=e.match(s),r=e.match(o);return{width:t&&parseInt(t[2],10),height:a&&parseInt(a[2],10),viewbox:r&&l(r[2])}}(t[0]);if(a.width&&a.height)return function(e){return{width:e.width,height:e.height}}(a);if(a.viewbox)return function(e){var t=e.viewbox.width/e.viewbox.height;return e.width?{width:e.width,height:Math.floor(e.width/t)}:e.height?{width:Math.floor(e.height*t),height:e.height}:{width:e.viewbox.width,height:e.viewbox.height}}(a)}throw new TypeError("invalid svg")}}},function(e,t,a){"use strict";(function(t){var r=a(1),i=a(332);function n(e,t){var a=i(e,16,8,t);return(i(e,16,10,t)<<16)+a}function s(e){if(e.length>24)return e.slice(12)}e.exports={detect:function(e){var t=e.toString("hex",0,4);return"49492a00"===t||"4d4d002a"===t},calculate:function(e,a){if(!a)throw new TypeError("Tiff doesn't support buffer");var o="BE"===function(e){var t=e.toString("ascii",0,2);return"II"===t?"LE":"MM"===t?"BE":void 0}(e),l=function(e,t){for(var a,r,o,l={};e&&e.length&&(a=i(e,16,0,t),r=i(e,16,2,t),o=i(e,32,4,t),0!==a);)1!==o||3!==r&&4!==r||(l[a]=n(e,t)),e=s(e);return l}(function(e,a,n){var s=i(e,32,4,n),o=1024,l=r.statSync(a).size;s+o>l&&(o=l-s-10);var d=new t(o),u=r.openSync(a,"r");return r.readSync(u,d,0,o,s),d.slice(2)}(e,a,o),o),d=l[256],u=l[257];if(!d||!u)throw new TypeError("Invalid Tiff, missing tags");return{width:d,height:u}}}}).call(this,a(2).Buffer)},function(e,t,a){"use strict";e.exports=function(e,t,a,r){return a=a||0,e["readUInt"+t+(r?"BE":"LE")].call(e,a)}},function(e,t,a){"use strict";e.exports={detect:function(e){var t="RIFF"===e.toString("ascii",0,4),a="WEBP"===e.toString("ascii",8,12),r="VP8"===e.toString("ascii",12,15);return t&&a&&r},calculate:function(e){var t=e.toString("ascii",12,16);if(e=e.slice(20,30),"VP8X"===t){var a=e[0];return!(!(0==(192&a))||!(0==(1&a)))&&function(e){return{width:1+e.readUIntLE(4,3),height:1+e.readUIntLE(7,3)}}(e)}if("VP8 "===t&&47!==e[0])return function(e){return{width:16383&e.readInt16LE(6),height:16383&e.readInt16LE(8)}}(e);var r=e.toString("hex",3,6);return"VP8L"===t&&"9d012a"!==r&&function(e){return{width:1+((63&e[2])<<8|e[1]),height:1+((15&e[4])<<10|e[3]<<2|(192&e[2])>>6)}}(e)}}},function(e,t,a){"use strict";var r=a(22);e.exports=function(e,t){var a;for(a in r)if(r[a].detect(e,t))return a}},function(e){e.exports=JSON.parse('{"title":"App","type":"object","definitions":{"i18nObject":{"oneOf":[{"type":"string","minLength":1},{"type":"object","required":["en"],"patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false}]},"i18nArray":{"type":"object","patternProperties":{"^.*$":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"author":{"required":["name"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"website":{"type":"string"}}},"images":{"required":["large","small"],"additionalProperties":false,"properties":{"large":{"type":"string"},"small":{"type":"string"},"xlarge":{"type":"string"}}},"flowCard":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"titleFormatted":{"$ref":"#/definitions/i18nObject"},"deprecated":{"type":"boolean","enum":[true]},"highlight":{"type":"boolean","enum":[true]},"advanced":{"type":"boolean","enum":[true]},"platforms":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["cloud","local"]}},"droptoken":{"oneOf":[{"type":"string","enum":["boolean","number","string","image"]},{"type":"array","items":{"type":"string","enum":["boolean","number","string","image"]}}]},"tokens":{"type":"array","items":{"type":"object","required":["name","title"],"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["boolean","number","string","image"],"default":"string"},"title":{"$ref":"#/definitions/i18nObject"},"example":{"oneOf":[{"$ref":"#/definitions/i18nObject"},{"type":"number"},{"type":"boolean"}]}}}},"args":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","type","filter"],"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["device"]},"filter":{"oneOf":[{"type":"string"},{"type":"object"}]}}},{"type":"object","required":["name","type"],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"name":{"type":"string"},"type":{"type":"string","enum":["text","autocomplete","device","date","time","color","checkbox","code"]},"placeholder":{"$ref":"#/definitions/i18nObject"},"filter":{"oneOf":[{"type":"string"},{"type":"object"}]}}},{"type":"object","required":["name","type"],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"name":{"type":"string"},"type":{"type":"string","enum":["number","range"]},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0},"label":{"$ref":"#/definitions/i18nObject"},"labelMultiplier":{"type":"number"},"labelDecimals":{"type":"number","mimimum":0,"maximum":10}}},{"type":"object","required":["name","type","values"],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"name":{"type":"string"},"type":{"type":"string","enum":["dropdown"]},"values":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"$ref":"#/definitions/i18nObject"}}}}}}]}}}},"appSettings":{"type":"array","items":{"oneOf":[{"type":"object","required":["id","type","title"],"properties":{"type":{"type":"string","enum":["text","password","textarea","label"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"pattern":{"type":"string"}}},{"type":"object","required":["id","type","title"],"properties":{"type":{"type":"string","enum":["number","slider"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"number"},"units":{"$ref":"#/definitions/i18nObject"},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0}}},{"type":"object","required":["id","type","title","values"],"properties":{"type":{"type":"string","enum":["radio","dropdown"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"values":{"type":"array","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"}}}}}},{"type":"object","required":["id","type","title"],"properties":{"type":{"type":"string","enum":["checkbox"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"boolean"}}},{"type":"object","required":["type","title","children"],"properties":{"type":{"type":"string","enum":["group"]},"title":{"$ref":"#/definitions/i18nObject"},"children":{"$ref":"#/definitions/appSettings"}}}]}},"driverSettings":{"type":"array","items":{"oneOf":[{"type":"object","required":["id","type","label"],"properties":{"type":{"type":"string","enum":["text","password","textarea","label"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"pattern":{"type":"string"},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["id","type","label"],"properties":{"type":{"type":"string","enum":["number","slider"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"number"},"units":{"$ref":"#/definitions/i18nObject"},"attr":{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0}}},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["id","type","label","values"],"properties":{"type":{"type":"string","enum":["radio","dropdown"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"values":{"type":"array","items":{"type":"object","required":["id","label"],"properties":{"id":{"type":"string"},"label":{"$ref":"#/definitions/i18nObject"}}}},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["id","type","label"],"properties":{"type":{"type":"string","enum":["checkbox"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"boolean"},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["type","label","children"],"properties":{"type":{"type":"string","enum":["group"]},"label":{"$ref":"#/definitions/i18nObject"},"children":{"$ref":"#/definitions/driverSettings"},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}}]}},"matterDevice":{"type":"object","required":["vendorId","productId"],"properties":{"vendorId":{"oneOf":[{"type":"number","minimum":1,"maximum":65520},{"type":"array","items":{"type":"number","minimum":1,"maximum":65520}}]},"productId":{"oneOf":[{"type":"number","minimum":1,"maximum":65535},{"type":"array","items":{"type":"number","minimum":1,"maximum":65535}}]},"deviceVendorId":{"oneOf":[{"type":"number","minimum":1,"maximum":65520},{"type":"array","items":{"type":"number","minimum":1,"maximum":65520}}]},"deviceProductName":{"oneOf":[{"type":"string","minLength":1,"maxLength":32},{"type":"array","items":{"type":"string","minLength":1,"maxLength":32}}]},"learnmode":{"type":"object","required":["instruction"],"properties":{"image":{"type":"string"},"instruction":{"$ref":"#/definitions/i18nObject"}}}}},"zigbeeDevice":{"type":"object","required":["manufacturerName","productId","endpoints"],"properties":{"manufacturerName":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"productId":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"endpoints":{"type":"object","propertyNames":{"type":"string","pattern":"^[0-9]+$"},"additionalProperties":{"type":"object","additionalProperties":false,"properties":{"clusters":{"type":"array","items":{"type":"number"}},"bindings":{"type":"array","items":{"type":"number"}}}}},"learnmode":{"type":"object","required":["instruction"],"properties":{"image":{"type":"string"},"instruction":{"$ref":"#/definitions/i18nObject"}}}}},"zwaveDevice":{"type":"object","required":["manufacturerId","productTypeId","productId"],"properties":{"manufacturerId":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"productTypeId":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"productId":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"learnmode":{"type":"object","required":["instruction"],"properties":{"image":{"type":"string"},"instruction":{"$ref":"#/definitions/i18nObject"}}},"associationGroups":{"type":"array","items":{"type":"number"}},"associationGroupsMultiChannel":{"type":"array","items":{"type":"number"}},"associationGroupsOptions":{"type":"object","properties":{"hint":{"$ref":"#/definitions/i18nObject"}}},"wakeUpInterval":{"type":"number"},"defaultConfiguration":{"type":"array","items":{"type":"object","required":["id","size","value"],"properties":{"id":{"type":"number"},"size":{"type":"number","enum":[1,2,4]},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"multiChannelNodes":{"type":"object","items":{"type":"object","required":["class","capabilities","name"],"properties":{"class":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}},"icon":{"type":"string"},"name":{"$ref":"#/definitions/i18nObject"}}}}}}}}},"zwaveSetting":{"type":"object","required":["index","size"],"properties":{"index":{"type":"number"},"size":{"type":"number","enum":[1,2,4]},"signed":{"type":"boolean"}}}},"required":["id","name","version","compatibility","author"],"properties":{"id":{"type":"string"},"name":{"$ref":"#/definitions/i18nObject"},"description":{"$ref":"#/definitions/i18nObject"},"author":{"$ref":"#/definitions/author"},"images":{"$ref":"#/definitions/images"},"version":{"type":"string"},"compatibility":{"type":"string"},"sdk":{"type":"number","default":3,"minimum":1,"maximum":3},"platforms":{"type":"array","items":{"type":"string","enum":["cloud","local"]}},"platformLocalRequiredFeatures":{"type":"array","items":{"type":"string","enum":["nfc","speaker","ledring","matter"]}},"tags":{"$ref":"#/definitions/i18nArray"},"permissions":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"bugs":{"type":"object","properties":{"url":{"type":"string","pattern":"^https?://"}}},"homepage":{"type":"string","pattern":"^https://"},"support":{"type":"string","pattern":"^(https://|mailto:)"},"source":{"type":"string","pattern":"^https://"},"athomForumDiscussionId":{"type":"number"},"homeyCommunityTopicId":{"type":"number"},"category":{"oneOf":[{"type":"string"},{"type":"array","uniqueItems":true,"items":{"type":"string"}}]},"contributors":{"type":"object","patternProperties":{"^(developers|translators)$":{"type":"array","items":{"$ref":"#/definitions/author"}}},"additionalProperties":false},"contributing":{"type":"object","properties":{"donate":{"type":"object","additionalProperties":false,"properties":{"githubSponsors":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string"}}},"bunq":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string"}}},"patreon":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string"}}},"paypal":{"type":"object","additionalProperties":false,"patternProperties":{"^(username|email)$":{"type":"string"},"currency":{"type":"string"}}}}}}},"screensavers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"}}}},"capabilities":{"type":"object","patternProperties":{"^.*$":{"type":"object"}},"additionalProperties":false},"drivers":{"type":"array","items":{"type":"object","required":["id","name","class","capabilities"],"properties":{"id":{"type":"string"},"name":{"$ref":"#/definitions/i18nObject"},"class":{"type":"string"},"capabilities":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"capabilitiesOptions":{"type":"object"},"images":{"$ref":"#/definitions/images"},"deprecated":{"type":"boolean","enum":[true]},"discovery":{"type":"string"},"energy":{"type":"object","properties":{"approximation":{"oneOf":[{"required":["usageOn","usageOff"],"additionalProperties":false,"properties":{"usageOn":{"type":"number"},"usageOff":{"type":"number"}}},{"required":["usageConstant"],"additionalProperties":false,"properties":{"usageConstant":{"type":"number"}}}]},"cumulative":{"type":"boolean","enum":[true]},"cumulativeImportedCapability":{"type":"string"},"cumulativeExportedCapability":{"type":"string"},"batteries":{"type":"array","minItems":1,"items":{"type":"string"}}}},"pair":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"template":{"type":"string"},"options":{"type":"object"},"navigation":{"type":"object","properties":{"prev":{"type":"string"},"next":{"type":"string"}}}}}},"settings":{"$ref":"#/definitions/driverSettings"},"gtin":{"oneOf":[{"type":"string"},{"type":"array","uniqueItems":true,"items":{"type":"string"}}]},"matter":{"$ref":"#/definitions/matterDevice"},"zwave":{"$ref":"#/definitions/zwaveDevice"},"zigbee":{"$ref":"#/definitions/zigbeeDevice"},"rf433":{"type":"object","properties":{"satelliteMode":{"type":"boolean"}}},"infrared":{"type":"object","properties":{"satelliteMode":{"type":"boolean"}}},"platforms":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["cloud","local"]}},"connectivity":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["lan","cloud","ble","zwave","zigbee","infrared","rf433","rf868","matter"]}}}}},"flow":{"type":"object","properties":{"triggers":{"type":"array","items":{"$ref":"#/definitions/flowCard"}},"conditions":{"type":"array","items":{"$ref":"#/definitions/flowCard"}},"actions":{"type":"array","items":{"$ref":"#/definitions/flowCard"}}}},"signals":{"type":"object","patternProperties":{"^(433|868|ir)$":{"type":"object"}},"additionalProperties":false},"brandColor":{"type":"string","minLength":7,"maxLength":7,"pattern":"^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$"},"discovery":{"type":"object","patternProperties":{"^.*$":{"type":"object","required":["type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["mdns-sd","ssdp","mac"]},"id":{"type":"string","minLength":1},"conditions":{"type":"array","items":{"type":"array","items":{"type":"object","required":["field","match"],"additionalProperties":false,"properties":{"field":{"type":"string"},"match":{"type":"object","required":["type","value"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","regex"]},"value":{"type":"string"}}}}}}},"mdns-sd":{"type":"object","required":["name","protocol"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"protocol":{"type":"string","enum":["tcp","udp"]}}},"ssdp":{"type":"object","required":["search"],"additionalProperties":false,"properties":{"search":{"type":"string","minLength":1}}},"mac":{"type":"object","required":["manufacturer"],"additionalProperties":false,"properties":{"manufacturer":{"type":"array","uniqueItems":true,"minItems":1,"maxItems":32,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer","minimum":0,"maximum":255}}}}}}}}},"settings":{"$ref":"#/definitions/appSettings"}}}')},function(e){e.exports=JSON.parse('{"homey:manager:geolocation":{"title":{"en":"Read Homey\'s location","nl":"Homey\'s locatie uitlezen","de":"Homeys Standort lesen","fr":"Lire la position de Homey","it":"Leggi la posizione di Homey","sv":"Läs av Homeys plats","no":"Les av Homeys posisjon","es":"Leer la posición de Homey","da":"Læs Homeys placering","ru":"Читать местонахождение Homey","pl":"Odczytaj lokalizację Homey","ko":"Homey 위치 읽기"}},"homey:manager:ledring":{"title":{"en":"Control Homey\'s LED ring","nl":"Homey\'s LED ring besturen","de":"Homeys LED-Ring steuern","fr":"Contrôler l\'anneau LED de Homey","it":"Controlla l\'anello LED di Homey","sv":"Kontrollera Homeys LED-ring","no":"Kontroller Homeys LED-ring","es":"Controlar el anillo LED de Homey","da":"Kontroller Homeys LED-ring","ru":"Управлять светодиодным кольцом Homey","pl":"Steruj lampą pierścieniową Homey","ko":"Homey LED 링 제어"}},"homey:manager:media":{"title":{"en":"Control Homey\'s Music","nl":"Homey\'s Muziek besturen","de":"Homeys Musik steuern","fr":"Contrôler la musique de Homey","it":"Controlla la musica di Homey","sv":"Styr Homeys musik","no":"Kontroller Homeys musikk","es":"Controlar la música de Homey","da":"Kontroller Homeys musik","ru":"Управлять музыкой Homey","pl":"Steruj muzyką Homey","ko":"Homey의 음악 제어"}},"homey:manager:speech-input":{"title":{"en":"React to speech","nl":"Reageren op spraak","de":"Auf Sprache reagieren","fr":"Réagir au discours","it":"Reagisci al parlato","sv":"Reagera på tal","no":"Reager på tale","es":"Reaccionar al habla","da":"Reager på tale","ru":"Реагировать на голос","pl":"Reaguj na mowę","ko":"음성에 반응"}},"homey:manager:speech-output":{"title":{"en":"Let Homey talk","nl":"Homey laten praten","de":"Homey sprechen lassen","fr":"Laisser Homey parler","it":"Permetti a Homey di parlare","sv":"Låt Homey prata","no":"La Homey snakke","es":"Deja que Homey hable","da":"Lad Homey tale","ru":"Разрешить Homey говорить","pl":"Pozwól Homey mówić","ko":"Homey의 음성 안내"}},"homey:wireless:433":{"title":{"en":"Send and receive on the 433 MHz frequency","nl":"Verzenden en ontvangen op de 433 MHz frequentie","de":"Auf der 433MHz-Frequenz senden und empfangen","fr":"Envoyer et recevoir sur la fréquence 433 MHz","it":"Invia e ricevi sulla frequenza 433 MHz","sv":"Skicka och ta emot på frekvensen 433 MHz","no":"Send og motta på frekvensen 433 MHz","es":"Enviar y recibir en la frecuencia de 433 MHz","da":"Send, og modtag på 433 MHz-frekvensen","ru":"Отправка и получение сигналов на частоте 433 МГц","pl":"Wysyłaj i odbieraj sygnały o częstotliwości 433 MHz","ko":"433 MHz 주파수 송수신"}},"homey:wireless:868":{"title":{"en":"Send and receive on the 868 MHz frequency","nl":"Verzenden en ontvangen op de 868 MHz frequentie","de":"Auf der 868MHz-Frequenz senden und empfangen","fr":"Envoyer et recevoir sur la fréquence 868 MHz","it":"Invia e ricevi sulla frequenza 868 MHz","sv":"Skicka och ta emot på frekvensen 468 MHz","no":"Send og motta på frekvensen 468 MHz","es":"Enviar y recibir en la frecuencia de 868 MHz","da":"Send, og modtag på 868 MHz-frekvensen","ru":"Отправка и получение сигналов на частоте 868 МГц","pl":"Wysyłaj i odbieraj sygnały o częstotliwości 868 MHz","ko":"868 MHz 주파수 송수신"}},"homey:wireless:ir":{"title":{"en":"Send and receive Infrared","nl":"Infrarood verzenden en ontvangen","de":"Infrarot senden und empfangen","fr":"Envoyer et recevoir en infrarouge","it":"Invia e ricevi in infrarossi","sv":"Skicka och ta emot infrarött","no":"Send og motta infrarødt","es":"Enviar y recibir en infrarrojos","da":"Send, og modtag på infrarød","ru":"Отправка и получение ИК-сигналов","pl":"Wysyłaj i odbieraj podczerwień","ko":"적외선 송수신"}},"homey:wireless:zwave":{"title":{"en":"Send and receive Z-Wave for specific devices","nl":"Z-Wave verzenden en ontvangen voor specifieke apparaten","de":"Z-Wave für spezifische Geräte senden und empfangen","fr":"Envoyer et recevoir Z-Wave pour les appareils spécifiques","it":"Invia e ricevi Z-Wave per dispositivi specifici","sv":"Skicka och ta emot Z-Wave för specifika enheter","no":"Send og motta Z-Wave for spesifikke enheter","es":"Enviar y recibir Z-Wave para dispositivos específicos","da":"Send, og modtag på Z-Wave for specifikke enheder","ru":"Отправлять и получать сигналы Z-Wave для определенных устройств","pl":"Wysyłaj i odbieraj Z-Wave dla określonych urządzeń","ko":"특정 디바이스를 위해 Z-Wave 송수신"}},"homey:wireless:zigbee":{"title":{"en":"Send and receive Zigbee for specific devices","nl":"Zigbee verzenden en ontvangen voor specifieke apparaten","de":"Zigbee für spezifische Geräte senden und empfangen","fr":"Envoyer et recevoir Zigbee pour les appareils spécifiques","it":"Invia e ricevi Zigbee per dispositivi specifici","sv":"Skicka och ta emot Zigbee för specifika enheter","no":"Send og motta Zigbee for spesifikke enheter","es":"Enviar y recibir Zigbee para dispositivos específicos","da":"Send, og modtag på Zigbee for specifikke enheder","ru":"Отправлять и получать сигналы Zigbee для определенных устройств","pl":"Wysyłaj i odbieraj Zigbee dla określonych urządzeń","ko":"특정 디바이스를 위해 Zigbee 송수신"}},"homey:wireless:nfc":{"title":{"en":"Read and write NFC tags","nl":"NFC tags lezen en schrijven","de":"NFC-Tags lesen und schreiben","fr":"Lire et écrire les tags NFC","it":"Leggi e scrivi i tag NFC","sv":"Läs och skriv NFC-taggar","no":"Les og skriv NFC-tagger","es":"Leer y escribir etiquetas NFC","da":"Læs, og skriv NFC-tags","ru":"Чтение и запись тегов NFC","pl":"Odczytuj i twórz tagi NFC","ko":"NFC 태그 읽기 및 쓰기"}},"homey:manager:api":{"title":{"en":"Gain full access to Homey to control everything on behalf of the user","nl":"Volledige toegang tot Homey om alles te bedienen namens de gebruiker","de":"Erhalte vollen Zugriff auf Homey, um alles im Namen des Benutzers zu steuern","fr":"Obtenir l\'accès complet à Homey pour contrôler tout au nom de l\'utilisateur","it":"Ottieni l\'accesso completo a Homey per controllare tutto a nome dell\'utente","sv":"Få full åtkomst till Homey för att styra allt åt användaren","no":"Få full tilgang til Homey for å kontrollere alt på vegne av brukeren","es":"Acceso completo a Homey para controlarlo todo en nombre del usuario","da":"Få fuld adgang til Homey for at kontrollere alt på brugerens vegne","ru":"Получите полный доступ к Homey, чтобы контролировать все от имени пользователя","pl":"Zdobądź pełny dostęp do Homey, aby sterować wszystkim w imieniu użytkownika","ko":"사용자를 대신해 모든 것을 제어할 수 있도록 Homey에 대한 온전한 액세스 권한 얻기"}},"homey:wireless:ble":{"title":{"en":"Communicate with Bluetooth Low Energy devices","nl":"Communiceren met Bluetooth Low Energy apparaten","de":"Mit Bluetooth-Low-Energy-Geräten kommunizieren","fr":"Communiquer avec les appareils Bluetooth à faible énergie","it":"Comunica con i dispositivi Bluetooth Low Energy","sv":"Kommunicera med Bluetooth låg energi-enheter","no":"Kommuniser med Bluetooth Low Energy-enheter","es":"Comunicarse con dispositivos de Bluetooth Low Energy","da":"Kommuniker med Bluetooth low energy-enheder","ru":"Связываться с устройствами Bluetooth с низким энергопотреблением","pl":"Porozumiewaj się z urządzeniami Bluetooth Low Energy","ko":"블루투스 LE 디바이스와 통신"}}}')},function(e,t,a){"use strict";e.exports=class{static getCodecs(){return a(338)}}},function(e){e.exports=JSON.parse('{"homey:codec:mp3":{},"homey:codec:ogg":{},"homey:codec:flac":{}}')}])})); \ No newline at end of file +!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),a=0;a1){t[0]=t[0].slice(0,-1);for(var r=t.length-1,i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=Math.floor,v=String.fromCharCode;function f(e){throw new RangeError(c[e])}function g(e,t){var a=e.split("@"),r="";a.length>1&&(r=a[0]+"@",e=a[1]);var i=function(e,t){for(var a=[],r=e.length;r--;)a[r]=t(e[r]);return a}((e=e.replace(m,".")).split("."),t).join(".");return r+i}function k(e){for(var t=[],a=0,r=e.length;a=55296&&i<=56319&&a>1,e+=h(e/t);e>455;r+=36)e=h(e/35);return h(r+36*e/(e+38))},w=function(e){var t,a=[],r=e.length,i=0,n=128,s=72,o=e.lastIndexOf("-");o<0&&(o=0);for(var l=0;l=128&&f("not-basic"),a.push(e.charCodeAt(l));for(var u=o>0?o+1:0;u=r&&f("invalid-input");var v=(t=e.charCodeAt(u++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(v>=36||v>h((d-i)/m))&&f("overflow"),i+=v*m;var g=c<=s?1:c>=s+26?26:c-s;if(vh(d/k)&&f("overflow"),m*=k}var y=a.length+1;s=b(i-p,y,0==p),h(i/y)>d-n&&f("overflow"),n+=h(i/y),i%=y,a.splice(i++,0,n)}return String.fromCodePoint.apply(String,a)},z=function(e){var t=[],a=(e=k(e)).length,r=128,i=0,n=72,s=!0,o=!1,l=void 0;try{for(var u,p=e[Symbol.iterator]();!(s=(u=p.next()).done);s=!0){var m=u.value;m<128&&t.push(v(m))}}catch(e){o=!0,l=e}finally{try{!s&&p.return&&p.return()}finally{if(o)throw l}}var c=t.length,g=c;for(c&&t.push("-");g=r&&jh((d-i)/C)&&f("overflow"),i+=(w-r)*C,r=w;var O=!0,L=!1,E=void 0;try{for(var T,x=e[Symbol.iterator]();!(O=(T=x.next()).done);O=!0){var M=T.value;if(Md&&f("overflow"),M==r){for(var D=i,$=36;;$+=36){var I=$<=n?1:$>=n+26?26:$-n;if(D>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function j(e){for(var t="",a=0,r=e.length;a=194&&i<224){if(r-a>=6){var n=parseInt(e.substr(a+4,2),16);t+=String.fromCharCode((31&i)<<6|63&n)}else t+=e.substr(a,6);a+=6}else if(i>=224){if(r-a>=9){var s=parseInt(e.substr(a+4,2),16),o=parseInt(e.substr(a+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&o)}else t+=e.substr(a,9);a+=9}else t+=e.substr(a,3),a+=3}return t}function C(e,t){function a(e){var a=j(e);return a.match(t.UNRESERVED)?a:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,a).replace(t.NOT_USERINFO,A).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,a).toLowerCase().replace(t.NOT_HOST,A).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,a).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,A).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,a).replace(t.NOT_QUERY,A).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,a).replace(t.NOT_FRAGMENT,A).replace(t.PCT_ENCODED,i)),e}function O(e){return e.replace(/^0*(.*)/,"$1")||"0"}function L(e,t){var a=e.match(t.IPV4ADDRESS)||[],r=l(a,2)[1];return r?r.split(".").map(O).join("."):e}function E(e,t){var a=e.match(t.IPV6ADDRESS)||[],r=l(a,3),i=r[1],n=r[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),o=l(s,2),d=o[0],u=o[1],p=u?u.split(":").map(O):[],m=d.split(":").map(O),c=t.IPV4ADDRESS.test(m[m.length-1]),h=c?7:8,v=m.length-h,f=Array(h),g=0;g1){var b=f.slice(0,k.index),w=f.slice(k.index+k.length);y=b.join(":")+"::"+w.join(":")}else y=f.join(":");return n&&(y+="%"+n),y}return e}var T=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,x=void 0==="".match(/(){0}/)[1];function M(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a={},r=!1!==t.iri?o:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(T);if(i){x?(a.scheme=i[1],a.userinfo=i[3],a.host=i[4],a.port=parseInt(i[5],10),a.path=i[6]||"",a.query=i[7],a.fragment=i[8],isNaN(a.port)&&(a.port=i[5])):(a.scheme=i[1]||void 0,a.userinfo=-1!==e.indexOf("@")?i[3]:void 0,a.host=-1!==e.indexOf("//")?i[4]:void 0,a.port=parseInt(i[5],10),a.path=i[6]||"",a.query=-1!==e.indexOf("?")?i[7]:void 0,a.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(a.port)&&(a.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),a.host&&(a.host=E(L(a.host,r),r)),void 0!==a.scheme||void 0!==a.userinfo||void 0!==a.host||void 0!==a.port||a.path||void 0!==a.query?void 0===a.scheme?a.reference="relative":void 0===a.fragment?a.reference="absolute":a.reference="uri":a.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==a.reference&&(a.error=a.error||"URI is not a "+t.reference+" reference.");var n=S[(t.scheme||a.scheme||"").toLowerCase()];if(t.unicodeSupport||n&&n.unicodeSupport)C(a,r);else{if(a.host&&(t.domainHost||n&&n.domainHost))try{a.host=_(a.host.replace(r.PCT_ENCODED,j).toLowerCase())}catch(e){a.error=a.error||"Host's domain name can not be converted to ASCII via punycode: "+e}C(a,s)}n&&n.parse&&n.parse(a,t)}else a.error=a.error||"URI can not be parsed.";return a}function D(e,t){var a=!1!==t.iri?o:s,r=[];return void 0!==e.userinfo&&(r.push(e.userinfo),r.push("@")),void 0!==e.host&&r.push(E(L(String(e.host),a),a).replace(a.IPV6ADDRESS,(function(e,t,a){return"["+t+(a?"%25"+a:"")+"]"}))),"number"!=typeof e.port&&"string"!=typeof e.port||(r.push(":"),r.push(String(e.port))),r.length?r.join(""):void 0}var $=/^\.\.?\//,I=/^\/\.(\/|$)/,N=/^\/\.\.(\/|$)/,V=/^\/?(?:.|\n)*?(?=\/|$)/;function H(e){for(var t=[];e.length;)if(e.match($))e=e.replace($,"");else if(e.match(I))e=e.replace(I,"/");else if(e.match(N))e=e.replace(N,"/"),t.pop();else if("."===e||".."===e)e="";else{var a=e.match(V);if(!a)throw new Error("Unexpected dot segment condition");var r=a[0];e=e.slice(r.length),t.push(r)}return t.join("")}function F(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.iri?o:s,r=[],i=S[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(a.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?P(e.host):_(e.host.replace(a.PCT_ENCODED,j).toLowerCase())}catch(a){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+a}C(e,a),"suffix"!==t.reference&&e.scheme&&(r.push(e.scheme),r.push(":"));var n=D(e,t);if(void 0!==n&&("suffix"!==t.reference&&r.push("//"),r.push(n),e.path&&"/"!==e.path.charAt(0)&&r.push("/")),void 0!==e.path){var l=e.path;t.absolutePath||i&&i.absolutePath||(l=H(l)),void 0===n&&(l=l.replace(/^\/\//,"/%2F")),r.push(l)}return void 0!==e.query&&(r.push("?"),r.push(e.query)),void 0!==e.fragment&&(r.push("#"),r.push(e.fragment)),r.join("")}function R(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],i={};return r||(e=M(F(e,a),a),t=M(F(t,a),a)),!(a=a||{}).tolerant&&t.scheme?(i.scheme=t.scheme,i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=H(t.path||""),i.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(i.userinfo=t.userinfo,i.host=t.host,i.port=t.port,i.path=H(t.path||""),i.query=t.query):(t.path?("/"===t.path.charAt(0)?i.path=H(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?i.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:i.path=t.path:i.path="/"+t.path,i.path=H(i.path)),i.query=t.query):(i.path=e.path,void 0!==t.query?i.query=t.query:i.query=e.query),i.userinfo=e.userinfo,i.host=e.host,i.port=e.port),i.scheme=e.scheme),i.fragment=t.fragment,i}function U(e,t){return e&&e.toString().replace(t&&t.iri?o.PCT_ENCODED:s.PCT_ENCODED,j)}var B={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){var a="https"===String(e.scheme).toLowerCase();return e.port!==(a?443:80)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},q={scheme:"https",domainHost:B.domainHost,parse:B.parse,serialize:B.serialize};function K(e){return"boolean"==typeof e.secure?e.secure:"wss"===String(e.scheme).toLowerCase()}var G={scheme:"ws",domainHost:!0,parse:function(e,t){var a=e;return a.secure=K(a),a.resourceName=(a.path||"/")+(a.query?"?"+a.query:""),a.path=void 0,a.query=void 0,a},serialize:function(e,t){if(e.port!==(K(e)?443:80)&&""!==e.port||(e.port=void 0),"boolean"==typeof e.secure&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){var a=e.resourceName.split("?"),r=l(a,2),i=r[0],n=r[1];e.path=i&&"/"!==i?i:void 0,e.query=n,e.resourceName=void 0}return e.fragment=void 0,e}},W={scheme:"wss",domainHost:G.domainHost,parse:G.parse,serialize:G.serialize},J={},Z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",Q="[0-9A-Fa-f]",Y=a(a("%[EFef]"+Q+"%"+Q+Q+"%"+Q+Q)+"|"+a("%[89A-Fa-f]"+Q+"%"+Q+Q)+"|"+a("%"+Q+Q)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),ee=new RegExp(Z,"g"),te=new RegExp(Y,"g"),ae=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),re=new RegExp(t("[^]",Z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),ie=re;function ne(e){var t=j(e);return t.match(ee)?t:e}var se={scheme:"mailto",parse:function(e,t){var a=e,r=a.to=a.path?a.path.split(","):[];if(a.path=void 0,a.query){for(var i=!1,n={},s=a.query.split("&"),o=0,l=s.length;o=55296&&t<=56319&&i%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,u=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,p=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,m=/^(?:\/(?:[^~/]|~0|~1)*)*$/,c=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,h=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function v(e){return e="full"==e?"full":"fast",r.copy(v[e])}function f(e){var t=e.match(i);if(!t)return!1;var a=+t[1],r=+t[2],s=+t[3];return r>=1&&r<=12&&s>=1&&s<=(2==r&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(a)?29:n[r])}function g(e,t){var a=e.match(s);if(!a)return!1;var r=a[1],i=a[2],n=a[3],o=a[5];return(r<=23&&i<=59&&n<=59||23==r&&59==i&&60==n)&&(!t||o)}e.exports=v,v.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":d,url:u,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:p,"json-pointer":m,"json-pointer-uri-fragment":c,"relative-json-pointer":h},v.full={date:f,time:g,"date-time":function(e){var t=e.split(k);return 2==t.length&&f(t[0])&&g(t[1],!0)},uri:function(e){return y.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":d,url:u,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:o,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:w,uuid:p,"json-pointer":m,"json-pointer-uri-fragment":c,"relative-json-pointer":h};var k=/t|\s/i;var y=/\/|:/;var b=/[^\\]\\Z/;function w(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,a){"use strict";var r=a(43),i=a(0).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(a){a.rules=a.rules.map((function(a){var i;if("object"==typeof a){var n=Object.keys(a)[0];i=a[n],a=n,i.forEach((function(a){t.push(a),e.all[a]=!0}))}return t.push(a),e.all[a]={keyword:a,code:r[a],implements:i}})),e.all.$comment={keyword:"$comment",code:r.$comment},a.type&&(e.types[a.type]=a)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,a){"use strict";e.exports={$ref:a(44),allOf:a(45),anyOf:a(46),$comment:a(47),const:a(48),contains:a(49),dependencies:a(50),enum:a(51),format:a(52),if:a(53),items:a(54),maximum:a(12),minimum:a(12),maxItems:a(13),minItems:a(13),maxLength:a(14),minLength:a(14),maxProperties:a(15),minProperties:a(15),multipleOf:a(55),not:a(56),oneOf:a(57),pattern:a(58),properties:a(59),propertyNames:a(60),required:a(61),uniqueItems:a(62),validate:a(11)}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i,n=" ",s=e.level,o=e.dataLevel,l=e.schema[t],d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(o||""),m="valid"+s;if("#"==l||"#/"==l)e.isRoot?(r=e.async,i="validate"):(r=!0===e.root.schema.$async,i="root.refVal[0]");else{var c=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===c){var h=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(h),(k=k||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(n+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(n+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),n+=" } "):n+=" {} ";var v=n;n=k.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+v+"]); ":n+=" validate.errors = ["+v+"]; return false; ":n+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,h);e.logger.warn(h),u&&(n+=" if (true) { ")}}else if(c.inline){var f=e.util.copy(e);f.level++;var g="valid"+f.level;f.schema=c.schema,f.schemaPath="",f.errSchemaPath=l,n+=" "+e.validate(f).replace(/validate\.schema/g,c.code)+" ",u&&(n+=" if ("+g+") { ")}else r=!0===c.$async||e.async&&!1!==c.$async,i=c.code}if(i){var k;(k=k||[]).push(n),n="",e.opts.passContext?n+=" "+i+".call(this, ":n+=" "+i+"( ",n+=" "+p+", (dataPath || '')",'""'!=e.errorPath&&(n+=" + "+e.errorPath);var y=n+=" , "+(o?"data"+(o-1||""):"parentData")+" , "+(o?e.dataPathArr[o]:"parentDataProperty")+", rootData) ";if(n=k.pop(),r){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(n+=" var "+m+"; "),n+=" try { await "+y+"; ",u&&(n+=" "+m+" = true; "),n+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(n+=" "+m+" = false; "),n+=" } ",u&&(n+=" if ("+m+") { ")}else n+=" if (!"+y+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",u&&(n+=" else { ")}return n}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.schema[t],n=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,o=!e.opts.allErrors,l=e.util.copy(e),d="";l.level++;var u="valid"+l.level,p=l.baseId,m=!0,c=i;if(c)for(var h,v=-1,f=c.length-1;v0:e.util.schemaHasRules(h,e.RULES.all))&&(m=!1,l.schema=h,l.schemaPath=n+"["+v+"]",l.errSchemaPath=s+"/"+v,r+=" "+e.validate(l)+" ",l.baseId=p,o&&(r+=" if ("+u+") { ",d+="}"));return o&&(r+=m?" if (true) { ":" "+d.slice(0,-1)+" "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e),h="";c.level++;var v="valid"+c.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var f=c.baseId;r+=" var "+m+" = errors; var "+p+" = false; ";var g=e.compositeRule;e.compositeRule=c.compositeRule=!0;var k=s;if(k)for(var y,b=-1,w=k.length-1;b0:e.util.schemaHasRules(s,e.RULES.all);if(r+="var "+m+" = errors;var "+p+";",y){var b=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.schema=s,c.schemaPath=o,c.errSchemaPath=l,r+=" var "+h+" = false; for (var "+v+" = 0; "+v+" < "+u+".length; "+v+"++) { ",c.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers,!0);var w=u+"["+v+"]";c.dataPathArr[f]=v;var z=e.validate(c);c.baseId=k,e.util.varOccurences(z,g)<2?r+=" "+e.util.varReplace(z,g,w)+" ":r+=" var "+g+" = "+w+"; "+z+" ",r+=" if ("+h+") break; } ",e.compositeRule=c.compositeRule=b,r+=" if (!"+h+") {"}else r+=" if ("+u+".length == 0) {";var _=_||[];_.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var P=r;return r=_.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",y&&(r+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e),c="";m.level++;var h="valid"+m.level,v={},f={},g=e.opts.ownProperties;for(w in s)if("__proto__"!=w){var k=s[w],y=Array.isArray(k)?f:v;y[w]=k}r+="var "+p+" = errors;";var b=e.errorPath;for(var w in r+="var missing"+i+";",f)if((y=f[w]).length){if(r+=" if ( "+u+e.util.getProperty(w)+" !== undefined ",g&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),d){r+=" && ( ";var z=y;if(z)for(var _=-1,P=z.length-1;_0:e.util.schemaHasRules(k,e.RULES.all))&&(r+=" "+h+" = true; if ( "+u+e.util.getProperty(w)+" !== undefined ",g&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(w)+"') "),r+=") { ",m.schema=k,m.schemaPath=o+e.util.getProperty(w),m.errSchemaPath=l+"/"+e.util.escapeFragment(w),r+=" "+e.validate(m)+" ",m.baseId=D,r+=" } ",d&&(r+=" if ("+h+") { ",c+="}"))}return d&&(r+=" "+c+" if ("+p+" == errors) {"),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m=e.opts.$data&&s&&s.$data;m&&(r+=" var schema"+i+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ");var c="i"+i,h="schema"+i;m||(r+=" var "+h+" = validate.schema"+o+";"),r+="var "+p+";",m&&(r+=" if (schema"+i+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+i+")) "+p+" = false; else {"),r+=p+" = false;for (var "+c+"=0; "+c+"<"+h+".length; "+c+"++) if (equal("+u+", "+h+"["+c+"])) { "+p+" = true; break; }",m&&(r+=" } "),r+=" if (!"+p+") { ";var v=v||[];v.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var f=r;return r=v.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",d&&(r+=" else { "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||"");if(!1===e.opts.format)return d&&(r+=" if (true) { "),r;var p,m=e.opts.$data&&s&&s.$data;m?(r+=" var schema"+i+" = "+e.util.getData(s.$data,n,e.dataPathArr)+"; ",p="schema"+i):p=s;var c=e.opts.unknownFormats,h=Array.isArray(c);if(m){r+=" var "+(v="format"+i)+" = formats["+p+"]; var "+(f="isObject"+i)+" = typeof "+v+" == 'object' && !("+v+" instanceof RegExp) && "+v+".validate; var "+(g="formatType"+i)+" = "+f+" && "+v+".type || 'string'; if ("+f+") { ",e.async&&(r+=" var async"+i+" = "+v+".async; "),r+=" "+v+" = "+v+".validate; } if ( ",m&&(r+=" ("+p+" !== undefined && typeof "+p+" != 'string') || "),r+=" (","ignore"!=c&&(r+=" ("+p+" && !"+v+" ",h&&(r+=" && self._opts.unknownFormats.indexOf("+p+") == -1 "),r+=") || "),r+=" ("+v+" && "+g+" == '"+a+"' && !(typeof "+v+" == 'function' ? ",e.async?r+=" (async"+i+" ? await "+v+"("+u+") : "+v+"("+u+")) ":r+=" "+v+"("+u+") ",r+=" : "+v+".test("+u+"))))) {"}else{var v;if(!(v=e.formats[s])){if("ignore"==c)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),d&&(r+=" if (true) { "),r;if(h&&c.indexOf(s)>=0)return d&&(r+=" if (true) { "),r;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var f,g=(f="object"==typeof v&&!(v instanceof RegExp)&&v.validate)&&v.type||"string";if(f){var k=!0===v.async;v=v.validate}if(g!=a)return d&&(r+=" if (true) { "),r;if(k){if(!e.async)throw new Error("async format in sync schema");r+=" if (!(await "+(y="formats"+e.util.getProperty(s)+".validate")+"("+u+"))) { "}else{r+=" if (! ";var y="formats"+e.util.getProperty(s);f&&(y+=".validate"),r+="function"==typeof v?" "+y+"("+u+") ":" "+y+".test("+u+") ",r+=") { "}}var b=b||[];b.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format: ",r+=m?""+p:""+e.util.toQuotedString(s),r+=" } ",!1!==e.opts.messages&&(r+=" , message: 'should match format \"",r+=m?"' + "+p+" + '":""+e.util.escapeQuotes(s),r+="\"' "),e.opts.verbose&&(r+=" , schema: ",r+=m?"validate.schema"+o:""+e.util.toQuotedString(s),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var w=r;return r=b.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+w+"]); ":r+=" validate.errors = ["+w+"]; return false; ":r+=" var err = "+w+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",d&&(r+=" else { "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e);c.level++;var h="valid"+c.level,v=e.schema.then,f=e.schema.else,g=void 0!==v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all)),k=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),y=c.baseId;if(g||k){var b;c.createErrors=!1,c.schema=s,c.schemaPath=o,c.errSchemaPath=l,r+=" var "+m+" = errors; var "+p+" = true; ";var w=e.compositeRule;e.compositeRule=c.compositeRule=!0,r+=" "+e.validate(c)+" ",c.baseId=y,c.createErrors=!0,r+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=c.compositeRule=w,g?(r+=" if ("+h+") { ",c.schema=e.schema.then,c.schemaPath=e.schemaPath+".then",c.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(c)+" ",c.baseId=y,r+=" "+p+" = "+h+"; ",g&&k?r+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",r+=" } ",k&&(r+=" else { ")):r+=" if (!"+h+") { ",k&&(c.schema=e.schema.else,c.schemaPath=e.schemaPath+".else",c.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(c)+" ",c.baseId=y,r+=" "+p+" = "+h+"; ",g&&k?r+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",r+=" } "),r+=" if (!"+p+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",d&&(r+=" else { ")}else d&&(r+=" if (true) { ");return r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e),h="";c.level++;var v="valid"+c.level,f="i"+i,g=c.dataLevel=e.dataLevel+1,k="data"+g,y=e.baseId;if(r+="var "+m+" = errors;var "+p+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){r+=" "+p+" = "+u+".length <= "+s.length+"; ";var w=l;l=e.errSchemaPath+"/additionalItems",r+=" if (!"+p+") { ";var z=z||[];z.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(r+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var _=r;r=z.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+_+"]); ":r+=" validate.errors = ["+_+"]; return false; ":r+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",l=w,d&&(h+="}",r+=" else { ")}var P=s;if(P)for(var S,A=-1,j=P.length-1;A0:e.util.schemaHasRules(S,e.RULES.all)){r+=" "+v+" = true; if ("+u+".length > "+A+") { ";var C=u+"["+A+"]";c.schema=S,c.schemaPath=o+"["+A+"]",c.errSchemaPath=l+"/"+A,c.errorPath=e.util.getPathExpr(e.errorPath,A,e.opts.jsonPointers,!0),c.dataPathArr[g]=A;var O=e.validate(c);c.baseId=y,e.util.varOccurences(O,k)<2?r+=" "+e.util.varReplace(O,k,C)+" ":r+=" var "+k+" = "+C+"; "+O+" ",r+=" } ",d&&(r+=" if ("+v+") { ",h+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){c.schema=b,c.schemaPath=e.schemaPath+".additionalItems",c.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+v+" = true; if ("+u+".length > "+s.length+") { for (var "+f+" = "+s.length+"; "+f+" < "+u+".length; "+f+"++) { ",c.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);C=u+"["+f+"]";c.dataPathArr[g]=f;O=e.validate(c);c.baseId=y,e.util.varOccurences(O,k)<2?r+=" "+e.util.varReplace(O,k,C)+" ":r+=" var "+k+" = "+C+"; "+O+" ",d&&(r+=" if (!"+v+") break; "),r+=" } } ",d&&(r+=" if ("+v+") { ",h+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){c.schema=s,c.schemaPath=o,c.errSchemaPath=l,r+=" for (var "+f+" = 0; "+f+" < "+u+".length; "+f+"++) { ",c.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);C=u+"["+f+"]";c.dataPathArr[g]=f;O=e.validate(c);c.baseId=y,e.util.varOccurences(O,k)<2?r+=" "+e.util.varReplace(O,k,C)+" ":r+=" var "+k+" = "+C+"; "+O+" ",d&&(r+=" if (!"+v+") break; "),r+=" }"}return d&&(r+=" "+h+" if ("+m+" == errors) {"),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;if(m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,!m&&"number"!=typeof o)throw new Error(t+" must be number");i+="var division"+n+";if (",m&&(i+=" "+r+" !== undefined && ( typeof "+r+" != 'number' || "),i+=" (division"+n+" = "+p+" / "+r+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+n+") - division"+n+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+n+" !== parseInt(division"+n+") ",i+=" ) ",m&&(i+=" ) "),i+=" ) { ";var c=c||[];c.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { multipleOf: "+r+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=m?"' + "+r:r+"'"),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var h=i;return i=c.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e);m.level++;var c="valid"+m.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){m.schema=s,m.schemaPath=o,m.errSchemaPath=l,r+=" var "+p+" = errors; ";var h,v=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1,m.opts.allErrors&&(h=m.opts.allErrors,m.opts.allErrors=!1),r+=" "+e.validate(m)+" ",m.createErrors=!0,h&&(m.opts.allErrors=h),e.compositeRule=m.compositeRule=v,r+=" if ("+c+") { ";var f=f||[];f.push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var g=r;r=f.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+g+"]); ":r+=" validate.errors = ["+g+"]; return false; ":r+=" var err = "+g+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",!1!==e.createErrors?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",d&&(r+=" if (false) { ");return r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="valid"+i,m="errs__"+i,c=e.util.copy(e),h="";c.level++;var v="valid"+c.level,f=c.baseId,g="prevValid"+i,k="passingSchemas"+i;r+="var "+m+" = errors , "+g+" = false , "+p+" = false , "+k+" = null; ";var y=e.compositeRule;e.compositeRule=c.compositeRule=!0;var b=s;if(b)for(var w,z=-1,_=b.length-1;z<_;)w=b[z+=1],(e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all))?(c.schema=w,c.schemaPath=o+"["+z+"]",c.errSchemaPath=l+"/"+z,r+=" "+e.validate(c)+" ",c.baseId=f):r+=" var "+v+" = true; ",z&&(r+=" if ("+v+" && "+g+") { "+p+" = false; "+k+" = ["+k+", "+z+"]; } else { ",h+="}"),r+=" if ("+v+") { "+p+" = "+g+" = true; "+k+" = "+z+"; }";return e.compositeRule=c.compositeRule=y,r+=h+"if (!"+p+") { var err = ",!1!==e.createErrors?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+k+" } ",!1!==e.opts.messages&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&d&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r,i=" ",n=e.level,s=e.dataLevel,o=e.schema[t],l=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,p="data"+(s||""),m=e.opts.$data&&o&&o.$data;m?(i+=" var schema"+n+" = "+e.util.getData(o.$data,s,e.dataPathArr)+"; ",r="schema"+n):r=o,i+="if ( ",m&&(i+=" ("+r+" !== undefined && typeof "+r+" != 'string') || "),i+=" !"+(m?"(new RegExp("+r+"))":e.usePattern(o))+".test("+p+") ) { ";var c=c||[];c.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { pattern: ",i+=m?""+r:""+e.util.toQuotedString(o),i+=" } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=m?"' + "+r+" + '":""+e.util.escapeQuotes(o),i+="\"' "),e.opts.verbose&&(i+=" , schema: ",i+=m?"validate.schema"+l:""+e.util.toQuotedString(o),i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var h=i;return i=c.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+h+"]); ":i+=" validate.errors = ["+h+"]; return false; ":i+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",u&&(i+=" else { "),i}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e),c="";m.level++;var h="valid"+m.level,v="key"+i,f="idx"+i,g=m.dataLevel=e.dataLevel+1,k="data"+g,y="dataProperties"+i,b=Object.keys(s||{}).filter(x),w=e.schema.patternProperties||{},z=Object.keys(w).filter(x),_=e.schema.additionalProperties,P=b.length||z.length,S=!1===_,A="object"==typeof _&&Object.keys(_).length,j=e.opts.removeAdditional,C=S||A||j,O=e.opts.ownProperties,L=e.baseId,E=e.schema.required;if(E&&(!e.opts.$data||!E.$data)&&E.length8)r+=" || validate.schema"+o+".hasOwnProperty("+v+") ";else{var M=b;if(M)for(var D=-1,$=M.length-1;D<$;)J=M[D+=1],r+=" || "+v+" == "+e.util.toQuotedString(J)+" "}if(z.length){var I=z;if(I)for(var N=-1,V=I.length-1;N0:e.util.schemaHasRules(Y,e.RULES.all)){var X=e.util.getProperty(J),ee=(q=u+X,G&&void 0!==Y.default);m.schema=Y,m.schemaPath=o+X,m.errSchemaPath=l+"/"+e.util.escapeFragment(J),m.errorPath=e.util.getPath(e.errorPath,J,e.opts.jsonPointers),m.dataPathArr[g]=e.util.toQuotedString(J);K=e.validate(m);if(m.baseId=L,e.util.varOccurences(K,k)<2){K=e.util.varReplace(K,k,q);var te=q}else{te=k;r+=" var "+k+" = "+q+"; "}if(ee)r+=" "+K+" ";else{if(T&&T[J]){r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),r+=") { "+h+" = false; ";H=e.errorPath,R=l;var ae,re=e.util.escapeQuotes(J);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(H,J,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(ae=ae||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+re+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+re+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";U=r;r=ae.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+U+"]); ":r+=" validate.errors = ["+U+"]; return false; ":r+=" var err = "+U+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=R,e.errorPath=H,r+=" } else { "}else d?(r+=" if ( "+te+" === undefined ",O&&(r+=" || ! Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),r+=") { "+h+" = true; } else { "):(r+=" if ("+te+" !== undefined ",O&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", '"+e.util.escapeQuotes(J)+"') "),r+=" ) { ");r+=" "+K+" } "}}d&&(r+=" if ("+h+") { ",c+="}")}}if(z.length){var ie=z;if(ie)for(var ne,se=-1,oe=ie.length-1;se0:e.util.schemaHasRules(Y,e.RULES.all)){m.schema=Y,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ne),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ne),r+=O?" "+y+" = "+y+" || Object.keys("+u+"); for (var "+f+"=0; "+f+"<"+y+".length; "+f+"++) { var "+v+" = "+y+"["+f+"]; ":" for (var "+v+" in "+u+") { ",r+=" if ("+e.usePattern(ne)+".test("+v+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers);q=u+"["+v+"]";m.dataPathArr[g]=v;K=e.validate(m);m.baseId=L,e.util.varOccurences(K,k)<2?r+=" "+e.util.varReplace(K,k,q)+" ":r+=" var "+k+" = "+q+"; "+K+" ",d&&(r+=" if (!"+h+") break; "),r+=" } ",d&&(r+=" else "+h+" = true; "),r+=" } ",d&&(r+=" if ("+h+") { ",c+="}")}}}return d&&(r+=" "+c+" if ("+p+" == errors) {"),r}},function(e,t,a){"use strict";e.exports=function(e,t,a){var r=" ",i=e.level,n=e.dataLevel,s=e.schema[t],o=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,u="data"+(n||""),p="errs__"+i,m=e.util.copy(e);m.level++;var c="valid"+m.level;if(r+="var "+p+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){m.schema=s,m.schemaPath=o,m.errSchemaPath=l;var h="key"+i,v="idx"+i,f="i"+i,g="' + "+h+" + '",k="data"+(m.dataLevel=e.dataLevel+1),y="dataProperties"+i,b=e.opts.ownProperties,w=e.baseId;b&&(r+=" var "+y+" = undefined; "),r+=b?" "+y+" = "+y+" || Object.keys("+u+"); for (var "+v+"=0; "+v+"<"+y+".length; "+v+"++) { var "+h+" = "+y+"["+v+"]; ":" for (var "+h+" in "+u+") { ",r+=" var startErrs"+i+" = errors; ";var z=h,_=e.compositeRule;e.compositeRule=m.compositeRule=!0;var P=e.validate(m);m.baseId=w,e.util.varOccurences(P,k)<2?r+=" "+e.util.varReplace(P,k,z)+" ":r+=" var "+k+" = "+z+"; "+P+" ",e.compositeRule=m.compositeRule=_,r+=" if (!"+c+") { for (var "+f+"=startErrs"+i+"; "+f+"0:e.util.schemaHasRules(y,e.RULES.all))||(h[h.length]=f)}}else h=s;if(m||h.length){var b=e.errorPath,w=m||h.length>=e.opts.loopRequired,z=e.opts.ownProperties;if(d)if(r+=" var missing"+i+"; ",w){m||(r+=" var "+c+" = validate.schema"+o+"; ");var _="' + "+(O="schema"+i+"["+(A="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,O,e.opts.jsonPointers)),r+=" var "+p+" = true; ",m&&(r+=" if (schema"+i+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+i+")) "+p+" = false; else {"),r+=" for (var "+A+" = 0; "+A+" < "+c+".length; "+A+"++) { "+p+" = "+u+"["+c+"["+A+"]] !== undefined ",z&&(r+=" && Object.prototype.hasOwnProperty.call("+u+", "+c+"["+A+"]) "),r+="; if (!"+p+") break; } ",m&&(r+=" } "),r+=" if (!"+p+") { ",(C=C||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+_+"' } ",!1!==e.opts.messages&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+_+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+o+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+u+" "),r+=" } "):r+=" {} ";var P=r;r=C.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var S=h;if(S)for(var A=-1,j=S.length-1;A 1) { ";var h=e.schema.items&&e.schema.items.type,v=Array.isArray(h);if(!h||"object"==h||"array"==h||v&&(h.indexOf("object")>=0||h.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+p+"[i], "+p+"[j])) { "+m+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+p+"[i]; ";var f="checkDataType"+(v?"s":"");i+=" if ("+e.util[f](h,"item",e.opts.strictNumbers,!0)+") continue; ",v&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+m+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",c&&(i+=" } "),i+=" if (!"+m+") { ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema: ",i+=c?"validate.schema"+l:""+o,i+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),i+=" } "):i+=" {} ";var k=i;i=g.pop(),!e.compositeRule&&u?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",u&&(i+=" else { ")}else u&&(i+=" if (true) { ");return i}},function(e,t,a){"use strict";var r=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var a=0;a)?=?)";var j=l++;o[j]=o[m]+"|x|X|\\*";var C=l++;o[C]=o[p]+"|x|X|\\*";var O=l++;o[O]="[v=\\s]*("+o[C]+")(?:\\.("+o[C]+")(?:\\.("+o[C]+")(?:"+o[k]+")?"+o[w]+"?)?)?";var L=l++;o[L]="[v=\\s]*("+o[j]+")(?:\\.("+o[j]+")(?:\\.("+o[j]+")(?:"+o[y]+")?"+o[w]+"?)?)?";var E=l++;o[E]="^"+o[A]+"\\s*"+o[O]+"$";var T=l++;o[T]="^"+o[A]+"\\s*"+o[L]+"$";var x=l++;o[x]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var M=l++;o[M]="(?:~>?)";var D=l++;o[D]="(\\s*)"+o[M]+"\\s+",n[D]=new RegExp(o[D],"g"),s[D]=new RegExp(u(o[D]),"g");var $=l++;o[$]="^"+o[M]+o[O]+"$";var I=l++;o[I]="^"+o[M]+o[L]+"$";var N=l++;o[N]="(?:\\^)";var V=l++;o[V]="(\\s*)"+o[N]+"\\s+",n[V]=new RegExp(o[V],"g"),s[V]=new RegExp(u(o[V]),"g");var H=l++;o[H]="^"+o[N]+o[O]+"$";var F=l++;o[F]="^"+o[N]+o[L]+"$";var R=l++;o[R]="^"+o[A]+"\\s*("+P+")$|^$";var U=l++;o[U]="^"+o[A]+"\\s*("+_+")$|^$";var B=l++;o[B]="(\\s*)"+o[A]+"\\s*("+P+"|"+o[O]+")",n[B]=new RegExp(o[B],"g"),s[B]=new RegExp(u(o[B]),"g");var q=l++;o[q]="^\\s*("+o[O]+")\\s+-\\s+("+o[O]+")\\s*$";var K=l++;o[K]="^\\s*("+o[L]+")\\s+-\\s+("+o[L]+")\\s*$";var G=l++;o[G]="(<|>)?=?\\s*\\*";for(var W=0;W<35;W++)r(W,o[W]),n[W]||(n[W]=new RegExp(o[W]),s[W]=new RegExp(u(o[W])));function J(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Z)return e;if("string"!=typeof e)return null;if(e.length>256)return null;if(!(t.loose?s[S]:s[z]).test(e))return null;try{return new Z(e,t)}catch(e){return null}}function Z(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Z){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof Z))return new Z(e,t);r("SemVer",e,t),this.options=t,this.loose=!!t.loose;var a=e.trim().match(t.loose?s[S]:s[z]);if(!a)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");a[4]?this.prerelease=a[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[a]&&(this.prerelease[a]++,a=-2);-1===a&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,a,r){"string"==typeof a&&(r=a,a=void 0);try{return new Z(e,a).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(ae(e,t))return null;var a=J(e),r=J(t),i="";if(a.prerelease.length||r.prerelease.length){i="pre";var n="prerelease"}for(var s in a)if(("major"===s||"minor"===s||"patch"===s)&&a[s]!==r[s])return i+s;return n},t.compareIdentifiers=Y;var Q=/^[0-9]+$/;function Y(e,t){var a=Q.test(e),r=Q.test(t);return a&&r&&(e=+e,t=+t),e===t?0:a&&!r?-1:r&&!a?1:e0}function te(e,t,a){return X(e,t,a)<0}function ae(e,t,a){return 0===X(e,t,a)}function re(e,t,a){return 0!==X(e,t,a)}function ie(e,t,a){return X(e,t,a)>=0}function ne(e,t,a){return X(e,t,a)<=0}function se(e,t,a,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof a&&(a=a.version),e===a;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof a&&(a=a.version),e!==a;case"":case"=":case"==":return ae(e,a,r);case"!=":return re(e,a,r);case">":return ee(e,a,r);case">=":return ie(e,a,r);case"<":return te(e,a,r);case"<=":return ne(e,a,r);default:throw new TypeError("Invalid operator: "+t)}}function oe(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);e=e.trim().split(/\s+/).join(" "),r("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===le?this.value="":this.value=this.operator+this.semver.version,r("comp",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new Z(e,t).major},t.minor=function(e,t){return new Z(e,t).minor},t.patch=function(e,t){return new Z(e,t).patch},t.compare=X,t.compareLoose=function(e,t){return X(e,t,!0)},t.rcompare=function(e,t,a){return X(t,e,a)},t.sort=function(e,a){return e.sort((function(e,r){return t.compare(e,r,a)}))},t.rsort=function(e,a){return e.sort((function(e,r){return t.rcompare(e,r,a)}))},t.gt=ee,t.lt=te,t.eq=ae,t.neq=re,t.gte=ie,t.lte=ne,t.cmp=se,t.Comparator=oe;var le={};function de(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof de)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new de(e.raw,t);if(e instanceof oe)return new de(e.value,t);if(!(this instanceof de))return new de(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+this.raw);this.format()}function ue(e){return!e||"x"===e.toLowerCase()||"*"===e}function pe(e,t,a,r,i,n,s,o,l,d,u,p,m){return((t=ue(a)?"":ue(r)?">="+a+".0.0":ue(i)?">="+a+"."+r+".0":">="+t)+" "+(o=ue(l)?"":ue(d)?"<"+(+l+1)+".0.0":ue(u)?"<"+l+"."+(+d+1)+".0":p?"<="+l+"."+d+"."+u+"-"+p:"<="+o)).trim()}function me(e,t,a){for(var i=0;i0){var n=e[i].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}function ce(e,t,a){try{t=new de(t,a)}catch(e){return!1}return t.test(e)}function he(e,t,a,r){var i,n,s,o,l;switch(e=new Z(e,r),t=new de(t,r),a){case">":i=ee,n=ne,s=te,o=">",l=">=";break;case"<":i=te,n=ie,s=ee,o="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ce(e,t,r))return!1;for(var d=0;d=0.0.0")),p=p||e,m=m||e,i(e.semver,p.semver,r)?p=e:s(e.semver,m.semver,r)&&(m=e)})),p.operator===o||p.operator===l)return!1;if((!m.operator||m.operator===o)&&n(e,m.semver))return!1;if(m.operator===l&&s(e,m.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?s[R]:s[U],a=e.match(t);if(!a)throw new TypeError("Invalid comparator: "+e);this.operator=a[1],"="===this.operator&&(this.operator=""),a[2]?this.semver=new Z(a[2],this.options.loose):this.semver=le},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){return r("Comparator.test",e,this.options.loose),this.semver===le||("string"==typeof e&&(e=new Z(e,this.options)),se(e,this.operator,this.semver,this.options))},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError("a Comparator is required");var a;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return a=new de(e.value,t),ce(this.value,a,t);if(""===e.operator)return a=new de(this.value,t),ce(e.semver,a,t);var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),n=this.semver.version===e.semver.version,s=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),o=se(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),l=se(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||n&&s||o||l},t.Range=de,de.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},de.prototype.toString=function(){return this.range},de.prototype.parseRange=function(e){var t=this.options.loose,a=t?s[K]:s[q];e=e.replace(a,pe),r("hyphen replace",e),e=e.replace(s[B],"$1$2$3"),r("comparator trim",e,s[B]),e=(e=e.replace(s[D],"$1~")).replace(s[V],"$1^");var i=t?s[R]:s[U],n=e.split(" ").map((function(e){return function(e,t){return r("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){r("caret",e,t);var a=t.loose?s[F]:s[H];return e.replace(a,(function(t,a,i,n,s){var o;return r("caret",e,t,a,i,n,s),ue(a)?o="":ue(i)?o=">="+a+".0.0 <"+(+a+1)+".0.0":ue(n)?o="0"===a?">="+a+"."+i+".0 <"+a+"."+(+i+1)+".0":">="+a+"."+i+".0 <"+(+a+1)+".0.0":s?(r("replaceCaret pr",s),o="0"===a?"0"===i?">="+a+"."+i+"."+n+"-"+s+" <"+a+"."+i+"."+(+n+1):">="+a+"."+i+"."+n+"-"+s+" <"+a+"."+(+i+1)+".0":">="+a+"."+i+"."+n+"-"+s+" <"+(+a+1)+".0.0"):(r("no pr"),o="0"===a?"0"===i?">="+a+"."+i+"."+n+" <"+a+"."+i+"."+(+n+1):">="+a+"."+i+"."+n+" <"+a+"."+(+i+1)+".0":">="+a+"."+i+"."+n+" <"+(+a+1)+".0.0"),r("caret return",o),o}))}(e,t)})).join(" ")}(e,t),r("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var a=t.loose?s[I]:s[$];return e.replace(a,(function(t,a,i,n,s){var o;return r("tilde",e,t,a,i,n,s),ue(a)?o="":ue(i)?o=">="+a+".0.0 <"+(+a+1)+".0.0":ue(n)?o=">="+a+"."+i+".0 <"+a+"."+(+i+1)+".0":s?(r("replaceTilde pr",s),o=">="+a+"."+i+"."+n+"-"+s+" <"+a+"."+(+i+1)+".0"):o=">="+a+"."+i+"."+n+" <"+a+"."+(+i+1)+".0",r("tilde return",o),o}))}(e,t)})).join(" ")}(e,t),r("tildes",e),e=function(e,t){return r("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var a=t.loose?s[T]:s[E];return e.replace(a,(function(t,a,i,n,s,o){r("xRange",e,t,a,i,n,s,o);var l=ue(i),d=l||ue(n),u=d||ue(s);return"="===a&&u&&(a=""),l?t=">"===a||"<"===a?"<0.0.0":"*":a&&u?(d&&(n=0),s=0,">"===a?(a=">=",d?(i=+i+1,n=0,s=0):(n=+n+1,s=0)):"<="===a&&(a="<",d?i=+i+1:n=+n+1),t=a+i+"."+n+"."+s):d?t=">="+i+".0.0 <"+(+i+1)+".0.0":u&&(t=">="+i+"."+n+".0 <"+i+"."+(+n+1)+".0"),r("xRange return",t),t}))}(e,t)})).join(" ")}(e,t),r("xrange",e),e=function(e,t){return r("replaceStars",e,t),e.trim().replace(s[G],"")}(e,t),r("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(n=n.filter((function(e){return!!e.match(i)}))),n=n.map((function(e){return new oe(e,this.options)}),this)},de.prototype.intersects=function(e,t){if(!(e instanceof de))throw new TypeError("a Range is required");return this.set.some((function(a){return a.every((function(a){return e.set.some((function(e){return e.every((function(e){return a.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new de(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},de.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new Z(e,this.options));for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":a&&!ee(a,t)||(a=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(a&&e.test(a))return a;return null},t.validRange=function(e,t){try{return new de(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,a){return he(e,t,"<",a)},t.gtr=function(e,t,a){return he(e,t,">",a)},t.outside=he,t.prerelease=function(e,t){var a=J(e,t);return a&&a.prerelease.length?a.prerelease:null},t.intersects=function(e,t,a){return e=new de(e,a),t=new de(t,a),e.intersects(t)},t.coerce=function(e){if(e instanceof Z)return e;if("string"!=typeof e)return null;var t=e.match(s[x]);if(null==t)return null;return J(t[1]+"."+(t[2]||"0")+"."+(t[3]||"0"))}}).call(this,a(17))},function(e,t,a){var r;!function(i){var n=/^\s+/,s=/\s+$/,o=0,l=i.round,d=i.min,u=i.max,p=i.random;function m(e,t){if(t=t||{},(e=e||"")instanceof m)return e;if(!(this instanceof m))return new m(e,t);var a=function(e){var t={r:0,g:0,b:0},a=1,r=null,o=null,l=null,p=!1,m=!1;"string"==typeof e&&(e=function(e){e=e.replace(n,"").replace(s,"").toLowerCase();var t,a=!1;if(L[e])e=L[e],a=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=U.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=U.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=U.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=U.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=U.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=U.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=U.hex8.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),a:V(t[4]),format:a?"name":"hex8"};if(t=U.hex6.exec(e))return{r:D(t[1]),g:D(t[2]),b:D(t[3]),format:a?"name":"hex"};if(t=U.hex4.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),a:V(t[4]+""+t[4]),format:a?"name":"hex8"};if(t=U.hex3.exec(e))return{r:D(t[1]+""+t[1]),g:D(t[2]+""+t[2]),b:D(t[3]+""+t[3]),format:a?"name":"hex"};return!1}(e));"object"==typeof e&&(B(e.r)&&B(e.g)&&B(e.b)?(c=e.r,h=e.g,v=e.b,t={r:255*x(c,255),g:255*x(h,255),b:255*x(v,255)},p=!0,m="%"===String(e.r).substr(-1)?"prgb":"rgb"):B(e.h)&&B(e.s)&&B(e.v)?(r=I(e.s),o=I(e.v),t=function(e,t,a){e=6*x(e,360),t=x(t,100),a=x(a,100);var r=i.floor(e),n=e-r,s=a*(1-t),o=a*(1-n*t),l=a*(1-(1-n)*t),d=r%6;return{r:255*[a,o,s,s,l,a][d],g:255*[l,a,a,o,s,s][d],b:255*[s,s,l,a,a,o][d]}}(e.h,r,o),p=!0,m="hsv"):B(e.h)&&B(e.s)&&B(e.l)&&(r=I(e.s),l=I(e.l),t=function(e,t,a){var r,i,n;function s(e,t,a){return a<0&&(a+=1),a>1&&(a-=1),a<1/6?e+6*(t-e)*a:a<.5?t:a<2/3?e+(t-e)*(2/3-a)*6:e}if(e=x(e,360),t=x(t,100),a=x(a,100),0===t)r=i=n=a;else{var o=a<.5?a*(1+t):a+t-a*t,l=2*a-o;r=s(l,o,e+1/3),i=s(l,o,e),n=s(l,o,e-1/3)}return{r:255*r,g:255*i,b:255*n}}(e.h,r,l),p=!0,m="hsl"),e.hasOwnProperty("a")&&(a=e.a));var c,h,v;return a=T(a),{ok:p,format:e.format||m,r:d(255,u(t.r,0)),g:d(255,u(t.g,0)),b:d(255,u(t.b,0)),a:a}}(e);this._originalInput=e,this._r=a.r,this._g=a.g,this._b=a.b,this._a=a.a,this._roundA=l(100*this._a)/100,this._format=t.format||a.format,this._gradientType=t.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=a.ok,this._tc_id=o++}function c(e,t,a){e=x(e,255),t=x(t,255),a=x(a,255);var r,i,n=u(e,t,a),s=d(e,t,a),o=(n+s)/2;if(n==s)r=i=0;else{var l=n-s;switch(i=o>.5?l/(2-n-s):l/(n+s),n){case e:r=(t-a)/l+(t>1)+720)%360;--t;)r.h=(r.h+i)%360,n.push(m(r));return n}function O(e,t){t=t||6;for(var a=m(e).toHsv(),r=a.h,i=a.s,n=a.v,s=[],o=1/t;t--;)s.push(m({h:r,s:i,v:n})),n=(n+o)%1;return s}m.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,t,a,r=this.toRgb();return e=r.r/255,t=r.g/255,a=r.b/255,.2126*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.7152*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.0722*(a<=.03928?a/12.92:i.pow((a+.055)/1.055,2.4))},setAlpha:function(e){return this._a=T(e),this._roundA=l(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=l(360*e.h),a=l(100*e.s),r=l(100*e.v);return 1==this._a?"hsv("+t+", "+a+"%, "+r+"%)":"hsva("+t+", "+a+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var e=c(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=c(this._r,this._g,this._b),t=l(360*e.h),a=l(100*e.s),r=l(100*e.l);return 1==this._a?"hsl("+t+", "+a+"%, "+r+"%)":"hsla("+t+", "+a+"%, "+r+"%, "+this._roundA+")"},toHex:function(e){return v(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,t,a,r,i){var n=[$(l(e).toString(16)),$(l(t).toString(16)),$(l(a).toString(16)),$(N(r))];if(i&&n[0].charAt(0)==n[0].charAt(1)&&n[1].charAt(0)==n[1].charAt(1)&&n[2].charAt(0)==n[2].charAt(1)&&n[3].charAt(0)==n[3].charAt(1))return n[0].charAt(0)+n[1].charAt(0)+n[2].charAt(0)+n[3].charAt(0);return n.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*x(this._r,255))+"%",g:l(100*x(this._g,255))+"%",b:l(100*x(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*x(this._r,255))+"%, "+l(100*x(this._g,255))+"%, "+l(100*x(this._b,255))+"%)":"rgba("+l(100*x(this._r,255))+"%, "+l(100*x(this._g,255))+"%, "+l(100*x(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+f(this._r,this._g,this._b,this._a),a=t,r=this._gradientType?"GradientType = 1, ":"";if(e){var i=m(e);a="#"+f(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+t+",endColorstr="+a+")"},toString:function(e){var t=!!e;e=e||this._format;var a=!1,r=this._a<1&&this._a>=0;return t||!r||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(a=this.toRgbString()),"prgb"===e&&(a=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(a=this.toHexString()),"hex3"===e&&(a=this.toHexString(!0)),"hex4"===e&&(a=this.toHex8String(!0)),"hex8"===e&&(a=this.toHex8String()),"name"===e&&(a=this.toName()),"hsl"===e&&(a=this.toHslString()),"hsv"===e&&(a=this.toHsvString()),a||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return m(this.toString())},_applyModification:function(e,t){var a=e.apply(null,[this].concat([].slice.call(t)));return this._r=a._r,this._g=a._g,this._b=a._b,this.setAlpha(a._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(z,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(y,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(C,arguments)},complement:function(){return this._applyCombination(P,arguments)},monochromatic:function(){return this._applyCombination(O,arguments)},splitcomplement:function(){return this._applyCombination(j,arguments)},triad:function(){return this._applyCombination(S,arguments)},tetrad:function(){return this._applyCombination(A,arguments)}},m.fromRatio=function(e,t){if("object"==typeof e){var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]="a"===r?e[r]:I(e[r]));e=a}return m(e,t)},m.equals=function(e,t){return!(!e||!t)&&m(e).toRgbString()==m(t).toRgbString()},m.random=function(){return m.fromRatio({r:p(),g:p(),b:p()})},m.mix=function(e,t,a){a=0===a?0:a||50;var r=m(e).toRgb(),i=m(t).toRgb(),n=a/100;return m({r:(i.r-r.r)*n+r.r,g:(i.g-r.g)*n+r.g,b:(i.b-r.b)*n+r.b,a:(i.a-r.a)*n+r.a})},m.readability=function(e,t){var a=m(e),r=m(t);return(i.max(a.getLuminance(),r.getLuminance())+.05)/(i.min(a.getLuminance(),r.getLuminance())+.05)},m.isReadable=function(e,t,a){var r,i,n=m.readability(e,t);switch(i=!1,(r=function(e){var t,a;t=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),a=(e.size||"small").toLowerCase(),"AA"!==t&&"AAA"!==t&&(t="AA");"small"!==a&&"large"!==a&&(a="small");return{level:t,size:a}}(a)).level+r.size){case"AAsmall":case"AAAlarge":i=n>=4.5;break;case"AAlarge":i=n>=3;break;case"AAAsmall":i=n>=7}return i},m.mostReadable=function(e,t,a){var r,i,n,s,o=null,l=0;i=(a=a||{}).includeFallbackColors,n=a.level,s=a.size;for(var d=0;dl&&(l=r,o=m(t[d]));return m.isReadable(e,o,{level:n,size:s})||!i?o:(a.includeFallbackColors=!1,m.mostReadable(e,["#fff","#000"],a))};var L=m.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=m.hexNames=function(e){var t={};for(var a in e)e.hasOwnProperty(a)&&(t[e[a]]=a);return t}(L);function T(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function x(e,t){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var a=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=d(t,u(0,parseFloat(e))),a&&(e=parseInt(e*t,10)/100),i.abs(e-t)<1e-6?1:e%t/parseFloat(t)}function M(e){return d(1,u(0,e))}function D(e){return parseInt(e,16)}function $(e){return 1==e.length?"0"+e:""+e}function I(e){return e<=1&&(e=100*e+"%"),e}function N(e){return i.round(255*parseFloat(e)).toString(16)}function V(e){return D(e)/255}var H,F,R,U=(F="[\\s|\\(]+("+(H="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",R="[\\s|\\(]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")[,|\\s]+("+H+")\\s*\\)?",{CSS_UNIT:new RegExp(H),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+R),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+R),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+R),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function B(e){return!!U.CSS_UNIT.exec(e)}e.exports?e.exports=m:void 0===(r=function(){return m}.call(t,a,t,e))||(e.exports=r)}(Math)},function(e){e.exports=JSON.parse('{"title":"Capability","type":"object","definitions":{"i18nObject":{"oneOf":[{"type":"string","minLength":1},{"type":"object","required":["en"],"patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false}]}},"required":["title","type"],"anyOf":[{"required":["getable"]},{"required":["setable"]}],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"desc":{"$ref":"#/definitions/i18nObject"},"type":{"type":"string","enum":["boolean","number","string","enum"]},"getable":{"type":"boolean","default":true},"setable":{"type":"boolean","default":true},"icon":{"type":"string"},"insights":{"type":"boolean"},"insightsTitleTrue":{"$ref":"#/definitions/i18nObject"},"insightsTitleFalse":{"$ref":"#/definitions/i18nObject"},"chartType":{"type":"string","enum":["line","area","stepLine","column","spline","splineArea","scatter"]},"decimals":{"type":"number"},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0},"units":{"$ref":"#/definitions/i18nObject"},"values":{"type":"array","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"}}}},"uiComponent":{"oneOf":[{"type":"string","enum":["thermostat","media","toggle","slider","ternary","button","color","picker","sensor","battery"]},{"type":"null"}]}},"_comment":"Require `values` array when `type` is `enum`","oneOf":[{"properties":{"type":{"type":"string","enum":["enum"]}},"required":["values"]},{"properties":{"type":{"type":"string","enum":["boolean","number","string"]}}}]}')},function(e){e.exports=JSON.parse('["onoff","dim","light_hue","light_saturation","light_temperature","light_mode","vacuumcleaner_state","thermostat_mode","target_temperature","measure_temperature","measure_co","measure_co2","measure_pm25","measure_humidity","measure_pressure","measure_noise","measure_rain","measure_wind_strength","measure_wind_angle","measure_gust_strength","measure_gust_angle","measure_battery","measure_power","measure_voltage","measure_current","measure_luminance","measure_ultraviolet","measure_water","alarm_generic","alarm_motion","alarm_contact","alarm_co","alarm_co2","alarm_pm25","alarm_tamper","alarm_smoke","alarm_fire","alarm_heat","alarm_water","alarm_battery","alarm_night","meter_power","meter_water","meter_gas","meter_rain","homealarm_state","volume_set","volume_up","volume_down","volume_mute","channel_up","channel_down","locked","lock_mode","garagedoor_closed","windowcoverings_state","windowcoverings_tilt_up","windowcoverings_tilt_down","windowcoverings_tilt_set","windowcoverings_closed","windowcoverings_set","button","speaker_playing","speaker_next","speaker_prev","speaker_shuffle","speaker_repeat","speaker_artist","speaker_album","speaker_track","speaker_duration","speaker_position","alarm_bin_full","alarm_bin_missing","alarm_cleaning_pad_missing","alarm_cold","alarm_connectivity","alarm_door_fault","alarm_gas","alarm_light","alarm_lost","alarm_moisture","alarm_noise","alarm_occupancy","alarm_pm01","alarm_pm1","alarm_pm10","alarm_power","alarm_presence","alarm_problem","alarm_pump_device","alarm_pump_supply","alarm_running","alarm_safety","alarm_stuck","alarm_tank_empty","alarm_tank_missing","alarm_tank_open","alarm_vibration","audio_output","battery_charging_state","dishwasher_program","docked","fan_mode","fan_speed","heater_operation_mode","measure_hepa_filter","hot_water_mode","laundry_washer_cycles","laundry_washer_program","laundry_washer_speed","level_aqi","level_carbon_filter","level_ch2o","level_co","level_co2","level_nox","level_o3","level_pm1","level_pm01","level_pm10","level_pm25","level_radon","level_so2","level_tvoc","measure_aqi","measure_carbon_filter","measure_ch2o","measure_content_volume","measure_data_rate","measure_data_size","measure_distance","measure_frequency","level_hepa_filter","measure_moisture","measure_monetary","measure_nox","measure_o3","measure_odor","measure_ph","measure_pm1","measure_pm01","measure_pm10","measure_radon","measure_rain_intensity","measure_rotation","measure_signal_strength","measure_so2","measure_speed","measure_tvoc","measure_tvoc_index","measure_weight","media_input","mower_state","operational_state","oscillating","pump_mode","pump_setpoint","refrigerator_mode","speaker_stop","swing_mode","target_humidity_max","target_humidity_min","target_humidity","target_temperature_level","target_temperature_max","target_temperature_min","vacuumcleaner_job_mode","valve_position"]')},function(e,t,a){var r={"./alarm_battery.json":74,"./alarm_bin_full.json":75,"./alarm_bin_missing.json":76,"./alarm_cleaning_pad_missing.json":77,"./alarm_co.json":78,"./alarm_co2.json":79,"./alarm_cold.json":80,"./alarm_connectivity.json":81,"./alarm_contact.json":82,"./alarm_door_fault.json":83,"./alarm_fire.json":84,"./alarm_gas.json":85,"./alarm_generic.json":86,"./alarm_heat.json":87,"./alarm_light.json":88,"./alarm_lost.json":89,"./alarm_moisture.json":90,"./alarm_motion.json":91,"./alarm_night.json":92,"./alarm_noise.json":93,"./alarm_occupancy.json":94,"./alarm_pm01.json":95,"./alarm_pm1.json":96,"./alarm_pm10.json":97,"./alarm_pm25.json":98,"./alarm_power.json":99,"./alarm_presence.json":100,"./alarm_problem.json":101,"./alarm_pump_device.json":102,"./alarm_pump_supply.json":103,"./alarm_running.json":104,"./alarm_safety.json":105,"./alarm_smoke.json":106,"./alarm_stuck.json":107,"./alarm_tamper.json":108,"./alarm_tank_empty.json":109,"./alarm_tank_missing.json":110,"./alarm_tank_open.json":111,"./alarm_vibration.json":112,"./alarm_water.json":113,"./audio_output.json":114,"./battery_charging_state.json":115,"./button.json":116,"./channel_down.json":117,"./channel_up.json":118,"./dim.json":119,"./dishwasher_program.json":120,"./docked.json":121,"./fan_mode.json":122,"./fan_speed.json":123,"./garagedoor_closed.json":124,"./heater_operation_mode.json":125,"./homealarm_state.json":126,"./hot_water_mode.json":127,"./laundry_washer_cycles.json":128,"./laundry_washer_program.json":129,"./laundry_washer_speed.json":130,"./level_aqi.json":131,"./level_carbon_filter.json":132,"./level_ch2o.json":133,"./level_co.json":134,"./level_co2.json":135,"./level_hepa_filter.json":136,"./level_nox.json":137,"./level_o3.json":138,"./level_pm01.json":139,"./level_pm1.json":140,"./level_pm10.json":141,"./level_pm25.json":142,"./level_radon.json":143,"./level_so2.json":144,"./level_tvoc.json":145,"./light_hue.json":146,"./light_mode.json":147,"./light_saturation.json":148,"./light_temperature.json":149,"./lock_mode.json":150,"./locked.json":151,"./measure_aqi.json":152,"./measure_battery.json":153,"./measure_carbon_filter.json":154,"./measure_ch2o.json":155,"./measure_co.json":156,"./measure_co2.json":157,"./measure_content_volume.json":158,"./measure_current.json":159,"./measure_data_rate.json":160,"./measure_data_size.json":161,"./measure_distance.json":162,"./measure_frequency.json":163,"./measure_gust_angle.json":164,"./measure_gust_strength.json":165,"./measure_hepa_filter.json":166,"./measure_humidity.json":167,"./measure_luminance.json":168,"./measure_moisture.json":169,"./measure_monetary.json":170,"./measure_noise.json":171,"./measure_nox.json":172,"./measure_o3.json":173,"./measure_odor.json":174,"./measure_ph.json":175,"./measure_pm01.json":176,"./measure_pm1.json":177,"./measure_pm10.json":178,"./measure_pm25.json":179,"./measure_power.json":180,"./measure_pressure.json":181,"./measure_radon.json":182,"./measure_rain.json":183,"./measure_rain_intensity.json":184,"./measure_rotation.json":185,"./measure_signal_strength.json":186,"./measure_so2.json":187,"./measure_speed.json":188,"./measure_temperature.json":189,"./measure_tvoc.json":190,"./measure_tvoc_index.json":191,"./measure_ultraviolet.json":192,"./measure_voltage.json":193,"./measure_water.json":194,"./measure_weight.json":195,"./measure_wind_angle.json":196,"./measure_wind_strength.json":197,"./media_input.json":198,"./meter_gas.json":199,"./meter_power.json":200,"./meter_rain.json":201,"./meter_water.json":202,"./mower_state.json":203,"./onoff.json":204,"./operational_state.json":205,"./oscillating.json":206,"./pump_mode.json":207,"./pump_setpoint.json":208,"./refrigerator_mode.json":209,"./speaker_album.json":210,"./speaker_artist.json":211,"./speaker_duration.json":212,"./speaker_next.json":213,"./speaker_playing.json":214,"./speaker_position.json":215,"./speaker_prev.json":216,"./speaker_repeat.json":217,"./speaker_shuffle.json":218,"./speaker_stop.json":219,"./speaker_track.json":220,"./swing_mode.json":221,"./target_humidity.json":222,"./target_humidity_max.json":223,"./target_humidity_min.json":224,"./target_temperature.json":225,"./target_temperature_level.json":226,"./target_temperature_max.json":227,"./target_temperature_min.json":228,"./thermostat_mode.json":229,"./vacuumcleaner_job_mode.json":230,"./vacuumcleaner_state.json":231,"./valve_position.json":232,"./volume_down.json":233,"./volume_mute.json":234,"./volume_set.json":235,"./volume_up.json":236,"./windowcoverings_closed.json":237,"./windowcoverings_set.json":238,"./windowcoverings_state.json":239,"./windowcoverings_tilt_down.json":240,"./windowcoverings_tilt_set.json":241,"./windowcoverings_tilt_up.json":242};function i(e){var t=n(e);return a(t)}function n(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=n,e.exports=i,i.id=73},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Battery alarm","nl":"Batterij-alarm","de":"Batterie-Alarm","fr":"Alarme batterie","it":"Allarme batteria","sv":"Batterialarm","no":"Batterialarm","es":"Alarma de batería","da":"Batterialarm","ru":"Сигнал аккумулятора","pl":"Alarm stanu baterii","ko":"배터리 알람"},"desc":{"en":"True when there is a battery warning","nl":"Geeft een batterijwaarschuwing","de":"True, wenn es eine Batterie-Warnung gibt","fr":"Vrai quand il y a un avertissement de batterie","it":"Vero quando c\'è un avvertimento sulla batteria","sv":"Sant när det finns en batterivarning","no":"Sant når det finnes en batteriadvarsel","es":"Activado cuando hay una advertencia de la batería","da":"Sandt, når der er en batterialarm","ru":"Значение «истина», когда есть предупреждение об аккумуляторе","pl":"Adekwatny, kiedy włączy się ostrzeżenie o stanie baterii","ko":"배터리 경고가 있으면 참"},"insights":true,"insightsTitleTrue":{"en":"Battery alarm turned on","nl":"Batterijalarm ging af","de":"Batterie-Alarm ist angegangen","fr":"Alarme batterie activée","it":"Allarme batteria attivato","sv":"Batterialarm aktiverat","no":"Batterialarm aktivert","es":"Alarma de la batería activada","da":"Batterialarm aktiveret","ru":"Сигнал аккумулятора включен","pl":"Alarm stanu baterii włączony","ko":"배터리 알람 켜짐"},"insightsTitleFalse":{"en":"Battery alarm turned off","nl":"Batterijalarm ging uit","de":"Batterie-Alarm ist ausgegangen","fr":"Alarme batterie désactivée","it":"Allarme batteria disattivato","sv":"Batterialarm inaktiverat","no":"Batterialarm deaktivert","es":"Alarma de la batería desactivada","da":"Batterialarm deaktiveret","ru":"Сигнал аккумулятора выключен","pl":"Alarm stanu baterii wyłączony","ko":"배터리 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"battery","$flow":{"triggers":[{"id":"alarm_battery_true","highlight":true,"title":{"en":"The battery alarm turned on","nl":"De batterijwaarschuwing gaat aan","de":"Der Batterie-Alarm ist angegangen","fr":"L\'alarme batterie s\'est activée","it":"L\'allarme della batteria è stato attivato","sv":"Batterialarmet aktiverat","no":"Batterialarmen ble aktivert","es":"La alarma de la batería se ha activado","da":"Batterialarm aktiverede","ru":"Сигнал аккумулятора включен","pl":"Alarm stanu baterii włączony","ko":"배터리 알람이 \'예\'이면"}},{"id":"alarm_battery_false","title":{"en":"The battery alarm turned off","nl":"De batterijwaarschuwing gaat uit","de":"Der Batterie-Alarm ist ausgegangen","fr":"L\'alarme batterie s\'est désactivée","it":"L\'allarme della batteria è stato disattivato","sv":"Batterialarmet aktiverat","no":"Batterialarmen ble deaktivert","es":"La alarma de la batería se ha desactivado","da":"Batterialarm deaktiverede","ru":"Сигнал аккумулятора выключен","pl":"Alarm stanu baterii wyłączony","ko":"배터리 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_battery","title":{"en":"The battery alarm is !{{on|off}}","nl":"De batterijwaarschuwing is !{{aan|uit}}","de":"Der Batterie-Alarm ist !{{an|aus}}","fr":"L\'alarme batterie est !{{en marche|arrêtée}}","it":"L\'allarme della batteria è !{{acceso|spento}}","sv":"Batterialarmet är !{{på|av}}","no":"Batterialarmen er !{{på|av}}","es":"La alarma de la batería está !{{activada|desactivada}}","da":"Batterialarmen er !{{tændt|slukket}}","ko":"배터리 알람이 !{{\'예\'이면|\'아니요\'이면}}","pl":"Alarm stanu baterii jest !{{włączony|wyłączony}}","ru":"Сигнал аккумулятора !{{включен|выключен}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Bin full alarm","nl":"Waarschuwing bij volle afvalbak","da":"Papirkurv fuld alarm","es":"Alarma de cubo lleno","fr":"Alarme de poubelle pleine","it":"Allarme contenitore pieno","ko":"먼지통 가득 참 감지","pl":"Alarm pełnego kosza","ru":"Сигнал о заполненности контейнера","sv":"Larm om full behållare","no":"Alarm om full støvbeholder"},"desc":{"en":"True when the bin is full","nl":"Wordt geactiveerd wanneer de afvalbak vol is","da":"Sandt, når papirkurven er fuld","es":"Activado cuando el cubo está lleno","fr":"Se déclenche lorsque la poubelle est pleine","it":"Vero quando il contenitore è pieno","ko":"휴지통이 가득 차면 참임","pl":"Prawda, gdy kosz jest pełny","ru":"Значение «истина», когда контейнер заполнен","sv":"Sant när behållaren är full","no":"Sann når støvbeholderen er full"},"insights":true,"insightsTitleTrue":{"en":"The bin was full","nl":"De afvalbak was vol","da":"Papirkurven var fuld","es":"El cubo estaba lleno","fr":"La poubelle était pleine","it":"Il contenitore era pieno","ko":"먼지통 가득 참","pl":"Kosz był pełny","ru":"Контейнер был заполнен","sv":"Behållaren var full","no":"Støvbeholderen var full"},"insightsTitleFalse":{"en":"The bin was not full","nl":"De afvalbak was niet vol","da":"Papirkurven var ikke fuld","es":"El cubo no estaba lleno","fr":"La poubelle n\'était pas pleine","it":"Il contenitore non era pieno","ko":"먼지통 상태 정상","pl":"Kosz nie był pełny","ru":"Контейнер не был заполнен","sv":"Behållaren var inte full","no":"Støvbeholderen var ikke full"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_bin_full_true","highlight":true,"title":{"en":"The bin is full","nl":"De afvalbak is vol","da":"Papirkurven er fuld","es":"El cubo está lleno","fr":"La poubelle est pleine","it":"Il contenitore è pieno","ko":"먼지통이 가득 차면","pl":"Kosz jest pełny","ru":"Контейнер заполнен","sv":"Behållaren är full","no":"Støvbeholderen er full"}},{"id":"alarm_bin_full_false","title":{"en":"The bin is no longer full","nl":"De afvalbak is niet meer vol","da":"Papirkurven er ikke længere fuld","es":"El cubo ya no está lleno","fr":"La poubelle n\'est plus pleine","it":"Il contenitore non è più pieno","ko":"먼지통이 정상 상태이면","pl":"Kosz nie jest już pełny","ru":"Контейнер больше не заполнен","sv":"Behållaren är inte längre full","no":"Støvbeholderen er ikke lenger full"}}],"conditions":[{"id":"alarm_bin_full","title":{"en":"The bin is !{{full|not full}}","nl":"De afvalbak is !{{vol|niet vol}}","da":"Papirkurven er !{{full|not full}}","es":"El cubo !{{está lleno|no está lleno}} ","it":"Il contenitore è !{{pieno|non pieno}}","ko":"먼지통이 !{{가득 차면|정상 상태이면}}","pl":"Kosz {{jest pełny|nie jest pełny}}","ru":"Контейнер !{{заполнен|не заполнен}}","sv":"Behållaren är!{{full|inte full}}","fr":"La poubelle !{{est pleine|n\'est pas pleine}}","no":"Støvbeholderen er !{{full|ikke full}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Bin missing alarm","nl":"Waarschuwing bij ontbrekende afvalbak","da":"Papirkurv mangler alarm","es":"Alarma de cubo no presente","fr":"Alarme de poubelle manquante","it":"Allarme contenitore mancante","ko":"먼지통 미장착 감지","pl":"Alarm braku kosza","ru":"Сигнал об отсутствии контейнера","sv":"Larm om att behållaren saknas","no":"Alarm om manglende støvbeholder"},"desc":{"en":"True when the bin is missing.","nl":"Wordt geactiveerd wanneer de afvalbak ontbreekt.","da":"Sandt, når papirkurven mangler","es":"Activado cuando el cubo no está presente.","fr":"Se déclenche lorsque la poubelle est manquante.","it":"Vero quando manca il contenitore.","ko":"휴지통이 누락되면 참입니다.","pl":"Prawda, gdy brakuje kosza.","ru":"Значение «истина», когда контейнер отсутствует.","sv":"Sant när behållaren saknas.","no":"Sann når støvbeholderen mangler."},"insights":true,"insightsTitleTrue":{"en":"The bin was removed","nl":"De afvalbak was verwijderd","da":"Papirkurv blev fjernet","es":"El cubo se ha retirado","fr":"La poubelle a été enlevée","it":"Il contenitore è stato rimosso","ko":"먼지통 없음","pl":"Kosz został usunięty","ru":"Контейнер был удален","sv":"Behållaren togs bort","no":"Støvbeholderen ble fjernet"},"insightsTitleFalse":{"en":"The bin was placed","nl":"De afvalbak was geplaatst","da":"Papirkurven blev placeret","es":"El cubo se ha colocado","fr":"La poubelle a été placée","it":"Il contenitore è stato posizionato","ko":"먼지통 장착됨","pl":"Kosz został umieszczony","ru":"Контейнер был размещен","sv":"Behållaren placerades","no":"Støvbeholderen ble satt på plass"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_bin_missing_true","highlight":true,"title":{"en":"The bin was removed","nl":"De afvalbak was verwijderd","da":"Papirkurven blev fjernet","es":"El cubo se ha retirado","fr":"La poubelle a été enlevée","it":"Il contenitore è stato rimosso","ko":"먼지통이 없으면","pl":"Kosz został usunięty","ru":"Контейнер был удален","sv":"Behållaren togs bort","no":"Støvbeholderen ble fjernet"}},{"id":"alarm_bin_missing_false","title":{"en":"The bin was placed","nl":"De afvalbak was geplaatst","da":"Papirkurven blev placeret","es":"El cubo se ha colocado","fr":"La corbeille a été placée","it":"Il contenitore è stato posizionato","ko":"먼지통이 장착되면","pl":"Kosz został umieszczony","ru":"Контейнер был размещен","sv":"Behållaren placerades","no":"Støvbeholderen ble satt på plass"}}],"conditions":[{"id":"alarm_bin_missing","title":{"en":"The bin is !{{missing|present}}","nl":"De afvalbak !{{ontbreekt|staat er}}","da":"Papirkurven !{{missing|present}}","es":"Cubo !{{no presente|presente}}","it":"Il contenitore è !{{assente|presente}}","ko":"먼지통이 !{{없으면|장착되면}}","pl":"Kosz jest !{{brakujący|obecny}}","ru":"Контейнер !{{отсутствует|в наличии}}","sv":"Behållaren !{{saknas|är på plats}}","fr":"La poubelle est !{{manquante|présente}}","no":"Støvbeholderen !{{mangler|mangler ikke}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Cleaning pad missing alarm","nl":"Waarschuwing bij ontbrekende reinigingspad","da":"Rengøringspad mangler alarm","es":"Alarma de almohadilla de limpieza no presente","fr":"Alarme de lingette de nettoyage manquante","it":"Allarme panno pulente mancante","ko":"물걸레 분리 감지","pl":"Alarm braku podkładki czyszczącej","ru":"Сигнал об отсутствии чистящей губки","sv":"Rengöringspad saknar larm","no":"Alarm om manglende vaskeklut"},"desc":{"en":"True when the cleaning pad is missing.","nl":"Wordt geactiveerd wanneer de reinigingspad ontbreekt.","da":"Sandt, når rengøringspad mangler.","es":"Activado cuando la almohadilla no está presente","fr":"Se déclenche lorsque la lingette de nettoyage est manquante.","it":"Vero quando manca il panno pulente.","ko":"클리닝 패드가 누락되면 참입니다.","pl":"Prawda, gdy brakuje podkładki czyszczącej.","ru":"Значение «истина», когда чистящая губка отсутствует.","sv":"Sant när rengöringsdynan saknas.","no":"Sann når vaskekluten mangler."},"insights":true,"insightsTitleTrue":{"en":"The cleaning pad was removed","nl":"De reinigingspad was verwijderd","da":"Rengøringspad blev fjernet","es":"La almohadilla de limpieza se ha retirado","fr":"La lingette de nettoyage a été enlevée","it":"Il panno pulente è stato rimosso","ko":"물걸레 분리됨","pl":"Podkładka czyszcząca została usunięta","ru":"Чистящая губка была удалена","sv":"Rengöringsdynan togs bort","no":"Vaskekluten ble fjernet"},"insightsTitleFalse":{"en":"The cleaning pad was placed","nl":"De reinigingspad was geplaatst","da":"Rengøringspad blev placeret","es":"La almohadilla de limpieza se ha colocado","fr":"La lingette de nettoyage a été placée","it":"Il panno pulente è stato posizionato","ko":"물걸레 장착됨","pl":"Podkładka czyszcząca została umieszczona","ru":"Чистящая губка была размещена","sv":"Rengöringsdynan placerades","no":"Vaskekluten ble satt på plass"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_cleaning_pad_missing_true","highlight":true,"title":{"en":"The cleaning pad was removed","nl":"De reinigingspad is verwijderd","da":"Rengøringspad blev fjernet","es":"La almohadilla de limpieza se ha retirado","fr":"La lingette de nettoyage a été enlevée","it":"Il panno pulente è stato rimosso","ko":"물걸레가 분리되면","pl":"Podkładka czyszcząca została usunięta","ru":"Чистящая губка была удалена","sv":"Rengöringsdynan togs bort","no":"Vaskekluten ble fjernet"}},{"id":"alarm_cleaning_pad_missing_false","title":{"en":"The cleaning pad was placed","nl":"De reinigingspad is geplaatst","da":"Rengøringspad blev placeret","es":"La almohadilla de limpieza se ha colocado","fr":"La lingette de nettoyage a été placée","it":"Il panno pulente è stato posizionato","ko":"물걸레가 장착되면","pl":"Podkładka czyszcząca została umieszczona","ru":"Чистящая губка была размещена","sv":"Rengöringsdynan placerades","no":"Vaskekluten ble satt på plass"}}],"conditions":[{"id":"alarm_cleaning_pad_missing","title":{"en":"The cleaning pad is !{{missing|present}}","nl":"De reiningingspad !{{ontbreekt|is aangebracht}}","da":"Rengøringspad !{{mangler|er tilstede}}","es":"Almohadilla de limpieza !{{no presente|presente}}","it":"Il panno pulente è !{{assente|presente}}","ko":"물걸레가 !{{분리되면|장착되면}}","pl":"Podkładka czyszcząca jest !{{brakująca|obecna}}","ru":"Чистящая губка !{{отсутствует|в наличии}}","sv":"Rengöringsdynan !{{saknas|är på plats}}","fr":"La lingette de nettoyage est !{{manquante|présente}}","no":"Vaskekluten !{{mangler|er på plass}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"CO alarm","nl":"CO-alarm","de":"CO-Alarm","fr":"Alarme CO","it":"Allarme CO","sv":"CO-larm","no":"CO-alarm","es":"Alarma de CO","da":"CO-alarm","ru":"Сигнал CO","pl":"Alarm o CO","ko":"일산화탄소(CO) 알람"},"desc":{"en":"True when dangerous CO values have been detected","nl":"Gaat af bij gevaarlijke concentraties CO","de":"True, wenn gefährliche CO-Werte erkannt wurden","fr":"Vrai si des valeurs de CO dangereuses ont été détectées","it":"Vero quando sono stati rilevati valori pericolosi di CO","sv":"Sant när farliga CO-värden upptäcks","no":"Sant når farlige CO-verdier påvises","es":"Activado cuando se han detectado valores peligrosos de CO","da":"Sandt, når farlige CO-værdier er blevet opdaget","ru":"Значение «истина» при обнаружении опасных значений CO","pl":"Adekwatny, kiedy wykryty zostanie niebezpieczny poziom stężenia CO","ko":"위험한 CO 값이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"CO alarm turned on","nl":"CO-alarm ging af","de":"CO-Alarm ist angegangen","fr":"L\'alarme CO est activée","it":"Allarme CO attivato","sv":"CO-larm aktiverat","no":"CO-alarm aktivert","es":"Alarma de CO activada","da":"CO-alarm aktiveret","ru":"Сигнал CO включен","pl":"Alarm o CO włączony","ko":"일산화탄소(CO) 알람 켜짐"},"insightsTitleFalse":{"en":"CO alarm turned off","nl":"CO-alarm ging uit","de":"CO-Alarm ist ausgegangen","fr":"L\'alarme CO est désactivée","it":"Allarme CO disattivato","sv":"CO-larm inaktiverat","no":"CO-alarm deaktivert","es":"Alarma de CO desactivada","da":"CO-alarm deaktiveret","ru":"Сигнал CO выключен","pl":"Alarm o CO wyłączony","ko":"일산화탄소(CO) 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_co_true","highlight":true,"title":{"en":"The CO alarm turned on","nl":"Het CO-alarm gaat aan","de":"Der CO-Alarm ist angegangen","fr":"L\'alarme CO s\'est activée","it":"L\'allarme CO è stato attivato","sv":"CO-larmet aktiverades","no":"CO-alarmen ble aktivert","es":"La alarma de CO se ha activado","da":"CO-alarmen blev aktiveredt","ru":"Сигнал CO включен","pl":"Alarm o CO włączony","ko":"일산화탄소(CO) 알람이 \'예\'이면"}},{"id":"alarm_co_false","title":{"en":"The CO alarm turned off","nl":"Het CO-alarm gaat uit","de":"Der CO-Alarm ist ausgegangen","fr":"L\'alarme CO s\'est désactivée","it":"L\'allarme CO è stato disattivato","sv":"CO-larmet inaktiverades","no":"CO-alarmen ble deaktivert","es":"La alarma de CO se ha desactivado","da":"CO-alarmen blev deaktiveret","ru":"Сигнал CO выключен","pl":"Alarm o CO wyłączony","ko":"일산화탄소(CO) 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_co","title":{"en":"The CO alarm is !{{on|off}}","nl":"Het CO-alarm is !{{aan|uit}}","de":"Der CO-Alarm ist !{{an|aus}}","fr":"L\'alarme CO est !{{en marche|arrêtée}}","it":"L\'allarme CO è !{{acceso|spento}}","sv":"CO-larmet är !{{på|av}}","no":"CO-alarmen er !{{på|av}}","es":"La alarma de CO está !{{activada|desactivada}}","da":"CO-alarmen er !{{på|af}}","ru":"Сигнал CO !{{вкл.|выкл.}}","pl":"Alarm CO jest !{{włączony|wyłączony}}","ko":"일산화탄소(CO) 알람이 !{{\'예\'|\'아니요\'}}이면"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"CO2 alarm","nl":"CO2-alarm","de":"CO2-Alarm","fr":"Alarme CO2","it":"Allarme CO2","no":"CO2-alarm","es":"Alarma de CO2","da":"CO2-alarm","ru":"Сигнал CO2","pl":"Alarm o CO2","ko":"이산화탄소(CO2) 알람"},"desc":{"en":"True when dangerous CO2 values have been detected","nl":"Gaat af bij gevaarlijke concentraties CO2","de":"True, wenn gefährliche CO2-Werte erkannt wurden","fr":"Vrai si des valeurs dangereuses de CO2 ont été détectées","it":"Vero quando sono stati rilevati valori pericolosi di CO2","no":"Sant når farlige CO2-verdier har blitt oppdaget","es":"Activado cuando se han detectado valores peligrosos de CO2","da":"Sandt, når farlige CO2-værdier er blevet opdaget","ru":"Значение «истина» при обнаружении опасных значений CO2","pl":"Adekwatny, kiedy wykryty zostanie niebezpieczny poziom stężenia CO2","ko":"위험한 CO2 값이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"CO2 alarm turned on","nl":"CO2-alarm ging af","de":"CO2-Alarm ist angegangen","fr":"L\'alarme CO2 s\'est activée","it":"Allarme CO2 attivato","sv":"CO2-larm på","no":"CO2-alarm aktivert","es":"Alarma de CO2 activada","da":"CO2-alarm aktiveret","ru":"Сигнал CO2 включен","pl":"Alarm o CO2 włączony","ko":"이산화탄소(CO2) 알람 켜짐"},"insightsTitleFalse":{"en":"CO2 alarm turned off","nl":"CO2-alarm ging uit","de":"CO2-Alarm ist ausgegangen","fr":"L\'alarme CO2 s\'est désactivée","it":"Allarme CO2 disattivato","sv":"CO2-larm av","no":"CO2-alarm deaktivert","es":"Alarma de CO2 desactivada","da":"CO2-alarm deaktiveret","ru":"Сигнал CO2 выключен","pl":"Alarm o CO2 wyłączony","ko":"이산화탄소(CO2) 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_co2_true","highlight":true,"title":{"en":"The CO2 alarm turned on","nl":"Het CO2-alarm gaat aan","de":"Der CO2-Alarm ist angegangen","fr":"L\'alarme CO2 s\'est activée","it":"L\'allarme CO2 è stato attivato","sv":"CO2-larmet på","no":"CO2-alarmen ble aktivert","es":"La alarma de CO2 se ha activado","da":"CO2-alarmen blev aktiveret","ru":"Сигнал CO2 включен","pl":"Alarm o CO2 włączony","ko":"이산화탄소(CO2) 알람이 \'예\'이면"}},{"id":"alarm_co2_false","title":{"en":"The CO2 alarm turned off","nl":"Het CO2-alarm gaat uit","de":"Der CO2-Alarm ist ausgegangen","fr":"L\'alarme CO2 s\'est désactivée","it":"L\'allarme CO2 è stato disattivato","sv":"CO2-larmet av","no":"CO2-alarmen ble deaktivert","es":"La alarma de CO2 se ha desactivado","da":"CO2-alarmen blev deaktiveret","ru":"Сигнал CO2 выключен","pl":"Alarm o CO2 wyłączony","ko":"이산화탄소(CO2) 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_co2","title":{"en":"The CO2 alarm is !{{on|off}}","nl":"Het CO2-alarm is !{{aan|uit}}","de":"Der CO2-Alarm ist !{{an|aus}}","fr":"L\'alarme CO2 est !{{en marche|arrêtée}}","it":"L\'allarme CO2 è !{{acceso|spento}}","sv":"CO2-larmet är !{{på|av}}","no":"CO2-alarmen er !{{på|av}}","es":"La alarma de CO2 está !{{activada|desactivada}}","da":"CO2-alarmen er !{{tændt|slukket}}","ru":"Сигнал CO2 !{{вкл.|выкл.}}","pl":"Alarm CO2 jest !{{włączony|wyłączony}}","ko":"이산화탄소(CO2) 알람이 !{{\'예\'|\'아니요\'}}이면"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Cold alarm","nl":"Waarschuwing bij kou","da":"Kuldealarm","es":"Alarma de frío","fr":"Alarme de froid","it":"Allarme freddo","ko":"한파 알림","no":"Kuldealarm","pl":"Alarm zimna","ru":"Сигнал холода","sv":"Köldlarm"},"desc":{"en":"True when the temperature is too low.","nl":"Wordt geactiveerd wanneer de temperatuur te laag is.","da":"Sandt, når temperaturen er for lav.","es":"Activado cuando la temperatura es muy baja.","fr":"Se déclenche lorsque la température est trop basse.","it":"Vero quando la temperatura è troppo bassa.","ko":"온도가 너무 낮으면 참입니다.","no":"Sann når temperaturen er for lav.","pl":"Prawda, gdy temperatura jest zbyt niska.","ru":"Значение «истина», когда температура слишком низкая.","sv":"Sant när temperaturen är för låg."},"insights":true,"insightsTitleTrue":{"en":"Cold alarm turned on","nl":"Waarschuwing bij kou geactiveerd","da":"Kuldealarm tændt","es":"Alarma de frío activada","fr":"Alarme de froid activée","it":"Allarme freddo acceso","ko":"한파 알림 켜짐","no":"Kuldealarm aktivert","pl":"Alarm zimna włączony","ru":"Сигнал холода включен","sv":"Köldlarm aktiverat"},"insightsTitleFalse":{"en":"Cold alarm turned off","nl":"Waarschuwing bij kou gedeactiveerd","da":"Kuldealarm slukket","es":"Alarma de frío desactivada","fr":"Alarme de froid désactivée","it":"Allarme freddo spento","ko":"한파 알림 꺼짐","no":"Kuldealarm deaktivert","pl":"Alarm zimna wyłączony","ru":"Сигнал холода выключен","sv":"Köldlarm inaktiverat"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_cold_true","highlight":true,"title":{"en":"The cold alarm turned on","nl":"De waarschuwing bij kou is geactiveerd","da":"Kuldealarm tændt","es":"Alarma de frío activada","fr":"L\'alarme de froid s\'est activée","it":"L\'allarme freddo si è acceso","ko":"한파 알림이 \'예\'이면","no":"Kuldealarmen ble aktivert","pl":"Włączył się alarm zimna","ru":"Сигнал холода включен","sv":"Köldlarmet aktiverat"}},{"id":"alarm_cold_false","title":{"en":"The cold alarm turned off","nl":"De waarschuwing bij kou is gedeactiveerd","da":"Kuldealarm slukket","es":"Alarma de frío desactivada","fr":"L\'alarme de froid s\'est désactivée","it":"L\'allarme freddo si è spento","ko":"한파 알림이 \'아니요\'이면","no":"Kuldealarmen ble deaktivert","pl":"Wyłączył się alarm zimna","ru":"Сигнал холода выключен","sv":"Köldlarmet inaktiverat"}}],"conditions":[{"id":"alarm_cold","title":{"en":"The cold alarm is !{{on|off}}","nl":"De waarschuwing bij kou is !{{geactiveerd|gedeactiveerd}}","da":"Kuldealarm er slået !{{til|fra}}","es":"La alarma de frío está !{{activada|desactivada}}","it":"L\'allarme freddo è !{{acceso|spento}}","ko":"한파 알림이 !{{\'예\'|\'아니요\'}}이면","no":"Kuldealarmen er !{{på|av}}","pl":"Alarm zimna jest !{{włączony|wyłączony}}","ru":"Сигнал холода !{{включен|выключен}}","sv":"Köldlarmet är !{{av|på}}","fr":"L\'alarme de froid est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Connectivity alarm","nl":"Verbindingswaarschuwing","da":"Tilslutningsalarm","fr":"Alarme de connectivité","it":"Allarme connettività","ko":"연결 해제 감지","no":"Tilkoblingsalarm","pl":"Alarm łączności","ru":"Сигнал о подключении","sv":"Anslutningslarm","es":"Alarma de conexión"},"desc":{"en":"True when disconnected from the network.","nl":"Wordt geactiveerd wanneer het apparaat niet meer verbonden is met het netwerk.","da":"Sandt, når forbindelsen til netværket er afbrudt.","fr":"Se déclenche lorsque le réseau est déconnecté.","it":"Vero quando si è disconnessi dalla rete.","ko":"네트워크에서 연결 해제되면 참입니다.","no":"Sann når koblet fra nettverket.","pl":"Prawda, gdy nastąpiło odłączenie od sieci.","ru":"Значение «истина», когда устройство отключено от сети.","sv":"Sant när den är frånkopplad från nätverket.","es":"Activado cuando se desconecta de la red."},"insights":true,"insightsTitleTrue":{"en":"Disconnected","nl":"Niet verbonden","da":"Afbrudt","fr":"Déconnecté","it":"Disconnesso","ko":"연결 해제됨","no":"Frakoblet","pl":"Odłączone","ru":"Отключено","sv":"Frånkopplad","es":"Desconectado"},"insightsTitleFalse":{"en":"Connected","nl":"Verbonden","da":"Tilsluttet","fr":"Connecté","it":"Connesso","ko":"연결됨","no":"Tilkoblet","pl":"Połączone","ru":"Подключено","sv":"Ansluten","es":"Conectado"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_connectivity_true","highlight":true,"title":{"en":"Is disconnected","nl":"Is niet verbonden","da":"Er afbrudt","fr":"Est déconnectée","it":"È disconnesso","ko":"연결이 해제되면","no":"Er frakoblet","pl":"Odłączony","ru":"Отключено","sv":"Frånkopplad","es":"Está desconectado"}},{"id":"alarm_connectivity_false","title":{"en":"Is connected","nl":"Is verbonden","da":"Er tilsluttet","fr":"Est connectée","it":"È connesso","ko":"연결되면","no":"Er tilkoblet","pl":"Połączony","ru":"Подключено","sv":"Ansluten","es":"Está conectado"}}],"conditions":[{"id":"alarm_connectivity","title":{"en":"Is !{{connected|disconnected}}","nl":"Is !{{verbonden|niet verbonden}}","da":"Er !{{tilsluttet|afbrudt}}","it":"È !{{connesso|disconnesso}}","ko":"!{{연결되면|연결이 해제되면}}","no":"Er !{{frakoblet|tilkoblet}}","pl":"Jest !{{połączony|niepołączony}}","ru":"Устройство !{{подключено|отключено}}","sv":"Är !{{ansluten|frånkopplad}}","es":"Está !{{conectado|desconectado}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Contact alarm","nl":"Contactalarm","de":"Kontakt-Alarm","fr":"Alarme contact","it":"Allarme contatto","sv":"Kontaktalarm","no":"Kontaktalarm","es":"Alarma de contacto","da":"Kontaktalarm","ru":"Контактный сигнал","pl":"Alarm otwarcia","ko":"열림 감지"},"desc":{"en":"Contact sensor, e.g. for windows (true/false)","nl":"Contact sensor, bijvoorbeeld voor ramen","de":"Kontaktsensor, z.B. für Windows (true/false)","fr":"Capteur de contact, par ex. pour les fenêtres (vrai/faux)","it":"Sensore di contatto, ad es. per le finestre (vero/falso)","sv":"Kontaktsensor, t.ex. för fönster (sant/falskt)","no":"Kontaktsensor, f.eks. for vindu (sant/usant)","es":"Sensor de contacto, p. ej., para ventanas (verdadero/falso)","da":"Kontaktsensor, f.eks. til vinduer (sandt/falsk)","ru":"Контактный датчик, например для окон (истина/ложь)","pl":"Czujnik otwarcia, np. okien (adekwatny/nieadekwatny)","ko":"접촉 센서, 예: 창문(참/거짓)"},"insights":true,"insightsTitleTrue":{"en":"Contact alarm turned on","nl":"Contact alarm ging af","de":"Kontakt-Alarm ist angegangen","fr":"Alarme contact s\'est activée","it":"Allarme di contatto attivato","sv":"Kontaktalarm aktiverat","no":"Kontaktalarm aktivert","es":"Alarma de contacto activada","da":"Kontaktalarm blev aktiveret","ru":"Контактный сигнал включен","pl":"Alarm otwarcia włączony","ko":"열림"},"insightsTitleFalse":{"en":"Contact alarm turned off","nl":"Contact alarm ging uit","de":"Kontakt-Alarm ist ausgegangen","fr":"Alarme contact s\'est désactivée","it":"Allarme di contatto disattivato","sv":"Kontaktalarm inaktiverat","no":"Kontaktalarm deaktivert","es":"Alarma de contacto desactivada","da":"Kontaktalarm blev deaktiveret","ru":"Контактный сигнал выключен","pl":"Alarm otwarcia wyłączony","ko":"닫힘"},"getable":true,"setable":false,"uiComponent":"sensor","options":{"zoneActivity":true},"$flow":{"triggers":[{"id":"alarm_contact_true","highlight":true,"title":{"en":"The contact alarm turned on","nl":"Het contactalarm gaat aan","de":"Der Kontakt-Alarm ist angegangen","fr":"L\'alarme contact s\'est activée","it":"L\'allarme di contatto è stato attivato","sv":"Kontaktalarmet aktiverat","no":"Kontaktalarmen ble aktivert","es":"La alarma de contacto se ha activado","da":"Kontaktalarmen blev aktiveret","ru":"Контактный сигнал включен","pl":"Alarm otwarcia włączony","ko":"열림 감지 열리면"}},{"id":"alarm_contact_false","title":{"en":"The contact alarm turned off","nl":"Het contactalarm gaat uit","de":"Der Kontakt-Alarm ist ausgegangen","fr":"L\'alarme contact s\'est désactivée","it":"L\'allarme di contatto è stato disattivato","sv":"Kontaktalarmet inaktiverat","no":"Kontaktalarmen ble deaktivert","es":"La alarma de contacto se ha desactivado","da":"Kontaktalarmen blev deaktiveret","ru":"Контактный сигнал выключен","pl":"Alarm otwarcia wyłączony","ko":"열림 감지 닫히면"}}],"conditions":[{"id":"alarm_contact","title":{"en":"The contact alarm is !{{on|off}}","nl":"Het contactalarm is !{{aan|uit}}","de":"Der Kontakt-Alarm ist !{{an|aus}}","fr":"L\'alarme contact est !{{en marche|arrêtée}}","it":"L\'allarme di contatto è !{{acceso|spento}}","sv":"Kontaktalarmet är !{{på|av}}","no":"Kontaktalarmen er !{{på|av}}","es":"La alarma de contacto está !{{activada|desactivada}}","da":"Kontaktalarmen er !{{tændt|slukket}}","ru":"Контактный сигнал !{{вкл.|выкл.}}","pl":"Alarm otwarcia jest !{{włączony|wyłączony}}","ko":"열림 감지 !{{열리면|닫히면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Door fault alarm","nl":"Waarschuwing bij defect aan deur","da":"Alarm for dørfejl","fr":"Alarme de défaut de porte","it":"Allarme guasto porta","ko":"도어 에러 감지","no":"Dørfeilalarm","pl":"Alarm usterki drzwi","ru":"Сигнал о неисправности двери","sv":"Larm för dörrfel","es":"Alarma de fallo en puerta"},"desc":{"en":"True when there is an issue with the door or lock.","nl":"Wordt geactiveerd wanneer er een probleem is met de deur of het slot.","da":"Sandt, når der er et problem med døren eller låsen.","fr":"Se déclenche lorsque la porte ou la serrure présente un problème.","it":"Vero quando c\'è un problema con la porta o la serratura.","ko":"도어 또는 록에 문제가 있으면 참입니다.","no":"Sann når det er et problem med døren eller låsen.","pl":"Prawda, gdy występuje problem z drzwiami lub zamkiem.","ru":"Значение «истина», когда обнаружена проблема с дверью или замком.","sv":"Sant när det finns ett problem med dörren eller låset.","es":"Activado cuando hay un problema con la puerta o la cerradura."},"insights":true,"insightsTitleTrue":{"en":"Door fault alarm turned on","nl":"Waarschuwing bij defect aan deur geactiveerd","da":"Alarm for dørfejl slået til","fr":"Alarme de défaut de porte activée","it":"Allarme guasto porta acceso","ko":"도어 에러 감지됨","no":"Dørfeilalarm aktivert","pl":"Alarm usterki drzwi włączony","ru":"Сигнал о неисправности двери включен","sv":"Larm för dörrfel aktiverat","es":"Alarma de fallo en puerta activada"},"insightsTitleFalse":{"en":"Door fault alarm turned off","nl":"Waarschuwing bij defect aan deur gedeactiveerd","da":"Alarm for dørfejl slået fra","fr":"Alarme de défaut de porte désactivée","it":"Allarme guasto porta spento","ko":"도어 에러 감지되지 않음","no":"Dørfeilalarm deaktivert","pl":"Alarm usterki drzwi wyłączony","ru":"Сигнал о неисправности двери выключен","sv":"Larm för dörrfel inaktiverat","es":"Alarma de fallo en puerta desactivada"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_door_fault_true","highlight":true,"title":{"en":"The door alarm turned on","nl":"De deurwaarschuwing is geactiveerd","da":"Døralarmen slået til","fr":"L\'alarme de la porte s\'est activée","it":"L\'allarme della porta si è acceso","ko":"도어 에러가 감지되면","no":"Døralarmen ble aktivert","pl":"Włączył się alarm drzwi","ru":"Сигнал о неисправности двери включен","sv":"Dörrlarmet aktiverat","es":"La alarma de la puerta se ha activado"}},{"id":"alarm_door_fault_false","title":{"en":"The door alarm turned off","nl":"De deurwaarschuwing is gedeactiveerd","da":"Døralarmen slået fra","fr":"L\'alarme de la porte s\'est désactivée","it":"L\'allarme della porta si è spento","ko":"도어 에러가 감지되지 않으면","no":"Døralarmen ble deaktivert","pl":"Wyłączył się alarm drzwi","ru":"Сигнал о неисправности двери выключен","sv":"Dörrlarmet inaktiverat","es":"La alarma de la puerta se ha desactivado"}}],"conditions":[{"id":"alarm_door_fault","title":{"en":"The door alarm is !{{on|off}}","nl":"De deurwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Døralarmen er slået !{{til|fra}}","it":"L\'allarme della porta è !{{acceso|spento}}","ko":"도어 에러가 !{{감지되면|감지되지 않으면}}","no":"Døralarmen er !{{på|av}}","pl":"Alarm drzwi jest !{{włączony|wyłączony}}","ru":"Сигнал о неисправности двери !{{включен|выключен}}","sv":"Dörrlarmet är aktiverat !{{på|av}}","es":"La alarma de la puerta está !{{activada|desactivada}}","fr":"L\'alarme de porte est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Fire alarm","nl":"Brandalarm","de":"Feuer-Alarm","fr":"Alarme incendie","it":"Allarme antincendio","sv":"Brandlarm","no":"Brannalarm","es":"Alarma de incendios","da":"Brandalarm","ru":"Пожарный сигнал","pl":"Alarm przeciwpożarowy","ko":"화재 감지"},"desc":{"en":"True when fire has been detected","nl":"Gaat af als er brand gedetecteerd wordt","de":"True, wenn Feuer erkannt wurde","fr":"Vrai si un incendie a été détecté","it":"Vero quando è stato rilevato un incendio","sv":"Sant när brand upptäckts","no":"Sann når brann har blitt påvist","es":"Activado cuando se detecta fuego","da":"Sandt, når brand er blevet opdaget","ru":"Значение «истина» при обнаружении огня","pl":"Alarm przeciwpożarowy","ko":"화재가 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Fire alarm turned on","nl":"Brandalarm ging af","de":"Feuer-Alarm ist angegangen","fr":"Alarme incendie s\'est activée","it":"Allarme antincendio attivato","sv":"Brandlarm aktiverat","no":"Brannalarmen ble aktivert","es":"Alarma de incendios activada","da":"Brandalarm blev aktiveret","ru":"Пожарный сигнал включен","pl":"Adekwatny, kiedy wykryty zostanie pożar","ko":"화재 감지됨"},"insightsTitleFalse":{"en":"Fire alarm turned off","nl":"Brandalarm ging uit","de":"Feuer-Alarm ist ausgegangen","fr":"Alarme incendie s\'est désactivée","it":"Allarme antincendio disattivato","sv":"Brandlarm inaktiverat","no":"Brannalarm deaktivert","es":"Alarma de incendios desactivada","da":"Brandalarm blev deaktiveret","ru":"Пожарный сигнал выключен","pl":"Alarm przeciwpożarowy wyłączony","ko":"정상"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_fire_true","highlight":true,"title":{"en":"The fire alarm turned on","nl":"Het brandalarm gaat aan","de":"Der Feuer-Alarm ist angegangen","fr":"L\'alarme incendie s\'est activée","it":"L\'allarme antincendio è stato attivato","sv":"Brandlarmet aktiverat","no":"Brannalarmen ble aktivert","es":"La alarma de incendios se ha activado","da":"Brandalarmen blev aktiveret","ru":"Пожарный сигнал включен","pl":"Alarm przeciwpożarowy włączony","ko":"화재가 감지되면"}},{"id":"alarm_fire_false","title":{"en":"The fire alarm turned off","nl":"Het brandalarm gaat uit","de":"Der Feuer-Alarm ist ausgegangen","fr":"L\'alarme incendie s\'est désactivée","it":"L\'allarme antincendio è stato disattivato","sv":"Brandlarmet inaktiverat","no":"Brannalarmen ble deaktivert","es":"La alarma de incendios se ha desactivado","da":"Brandalarmen blev deaktiveret","ru":"Пожарный сигнал выключен","pl":"Alarm przeciwpożarowy wyłączony","ko":"화재 감지가 정상 상태이면"}}],"conditions":[{"id":"alarm_fire","title":{"en":"The fire alarm is !{{on|off}}","nl":"Het brandalarm is !{{aan|uit}}","de":"Der Feuer-Alarm ist !{{an|aus}}","fr":"L\'alarme incendie est !{{en marche|arrêtée}}","it":"L\'allarme antincendio è !{{acceso|spento}}","sv":"Brandlarmet är !{{på|av}}","no":"Brannalarmen er !{{på|av}}","es":"La alarma de incendios está !{{activada|desactivada}}","da":"Brandalarmen er !{{tændt|slukket}}","ru":"Пожарный сигнал !{{вкл.|выкл.}}","pl":"Alarm przeciwpożarowy jest !{{włączony|wyłączony}}","ko":"!{{화재가 감지되면|화재 감지가 정상 상태이면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Gas alarm","nl":"Gaswaarschuwing","da":"Gasalarm","fr":"Alarme de gaz","it":"Allarme gas","ko":"가스 감지","no":"Gassalarm","pl":"Alarm gazu","ru":"Сигнал об утечке газа","sv":"Gaslarm","es":"Alarma de gas"},"description":{"en":"True when gas is detected","nl":"Wordt geactiveerd wanneer gas wordt gedetecteerd","da":"Sandt, når der registreres gas","fr":"Se déclenche lorsque du gaz est détecté","it":"Vero quando viene rilevato del gas","ko":"가스가 감지되면 참임","no":"Sann når gass er oppdaget","pl":"Prawda, gdy wykryty jest gaz","ru":"Значение «истина» при обнаружении газа","sv":"Sant när gas detekteras","es":"Activado cuando se detecta gas"},"insights":true,"insightsTitleTrue":{"en":"Gas alarm turned on","nl":"Gaswaarschuwing geactiveerd","da":"Gasalarm slået til","fr":"Alarme de gaz activée","it":"Allarme gas acceso","ko":"가스 감지됨","no":"Gassalarm aktivert","pl":"Alarm gazu włączony","ru":"Сигнал об утечке газа включен","sv":"Gaslarm aktiverat","es":"Alarma de gas activada"},"insightsTitleFalse":{"en":"Gas alarm turned off","nl":"Gaswaarschuwing gedeactiveerd","da":"Gasalarm slået fra","fr":"Alarme de gaz désactivée","it":"Allarme gas spento","ko":"정상","no":"Gassalarm deaktivert","pl":"Alarm gazu wyłączony","ru":"Сигнал об утечке газа выключен","sv":"Gaslarm inaktiverat","es":"Alarma de gas desactivada"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_gas_true","highlight":true,"title":{"en":"The gas alarm turned on","nl":"De gaswaarschuwing is geactiveerd","da":"Gasalarmen tændte","fr":"L\'alarme de gaz s\'est activée","it":"L\'allarme gas si è acceso","ko":"가스가 감지되면","no":"Gassalarmen ble aktivert","pl":"Włączył się alarm gazu","ru":"Сигнал об утечке газа включен","sv":"Gaslarmet aktiveras","es":"La alarma de gas se ha activado"}},{"id":"alarm_gas_false","title":{"en":"The gas alarm turned off","nl":"De gaswaarschuwing is gedeactiveerd","da":"Gasalarmen slukkede","it":"L\'allarme gas si è spento","ko":"가스 감지가 정상 상태이면","no":"Gassalarmen ble deaktivert","pl":"Wyłączył się alarm gazu","ru":"Сигнал об утечке газа выключен","sv":"Gaslarmet inaktiverat","es":"La alarma de gas se ha desactivado","fr":"L\'alarme de gaz s\'est désactivée"}}],"conditions":[{"id":"alarm_gas","title":{"en":"The gas alarm is !{{on|off}}","nl":"De gaswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Gasalarmen er slået !{{til|fra}}","it":"L\'allarme gas è !{{acceso|spento}}","ko":"!{{가스가 감지되면|가스 감지가 정상 상태이면}}","no":"Gassalarmen er !{{på|av}}","pl":"Alarm gazu jest !{{włączony|wyłączony}}","ru":"Сигнал об утечке газа !{{включен|выключен}}","sv":"Gaslarmet är !{{på|av}}","es":"La alarma de gas está !{{activada|desactivada}}","fr":"L\'alarme de gaz est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Generic alarm","nl":"Algemeen alarm","de":"Allgemeiner Alarm","fr":"Alarme générique","it":"Allarme generico","sv":"Generiskt larm","no":"Generell alarm","es":"Alarma general","da":"Generisk alarm","ru":"Общий сигнал","pl":"Alarm ogólny","ko":"알람"},"desc":{"en":"Generic alarm","nl":"Algemeen alarm","de":"Allgemeiner Alarm","fr":"Alarme générique","it":"Allarme generico","sv":"Generiskt larm","no":"Generell alarm","es":"Alarma general","da":"Generisk alarm","ru":"Общий сигнал","pl":"Alarm ogólny","ko":"일반 알람"},"insights":true,"insightsTitleTrue":{"en":"Generic alarm turned on","nl":"Algemeen alarm ging af","de":"Allgemeiner Alarm ist angegangen","fr":"Alarme générique s\'est activée","it":"Allarme generico attivato","sv":"Generiskt larm aktiverat","no":"Generell alarm aktivert","es":"Alarma general activada","da":"Generisk alarm blev aktiveret","ru":"Общий сигнал включен","pl":"Alarm ogólny włączony","ko":"알람 켜짐"},"insightsTitleFalse":{"en":"Generic alarm turned off","nl":"Algemeen alarm ging uit","de":"Allgemeiner Alarm ist ausgegangen","fr":"Alarme générique s\'est désactivée","it":"Allarme generico disattivato","sv":"Generiskt larm inaktiverat","no":"Generell alarm deaktivert","es":"Alarma general desactivada","da":"Generisk alarm blev deaktiveret","ru":"Общий сигнал выключен","pl":"Alarm ogólny wyłączony","ko":"알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_generic_true","title":{"en":"The generic alarm turned on","nl":"Het algemene alarm gaat aan","de":"Der allgemeine Alarm ist angegangen","fr":"L\'alarme générique s\'est activée","it":"L\'allarme generico è stato attivato","sv":"Det generiska larmet är aktiverat","no":"Den generelle alarmen ble aktivert","es":"La alarma general se ha activado","da":"Den generiske alarm blev aktiveret","ru":"Общий сигнал включен","pl":"Alarm ogólny włączony","ko":"알람이 켜지면"}},{"id":"alarm_generic_false","title":{"en":"The generic alarm turned off","nl":"Het algemene alarm ging uit","de":"Der allgemeine Alarm ist ausgegangen","fr":"L\'alarme générique s\'est désactivée","it":"L\'allarme generico è stato disattivato","sv":"Det generiska larmet är inaktiverat","no":"Den generelle alarmen ble deaktivert","es":"La alarma general se ha desactivado","da":"Den generiske alarm blev deaktiveret","ru":"Общий сигнал выключен","pl":"Alarm ogólny wyłączony","ko":"알람이 꺼지면"}}],"conditions":[{"id":"alarm_generic","title":{"en":"The generic alarm is !{{on|off}}","nl":"Het algemene alarm is !{{aan|uit}}","de":"Der allgemeine Alarm ist !{{an|aus}}","fr":"L\'alarme générique est !{{en marche|arrêtée}}","it":"L\'allarme generico è !{{acceso|spento}}","sv":"Det generiska larmet är !{{på|av}}","no":"Den generelle alarmen er !{{på|av}}","es":"La alarma general está !{{activada|desactivada}}","da":"Den generiske alarm er !{{tændt|slukket}}","ru":"Общий сигнал !{{вкл.|выкл.}}","pl":"Alarm ogólny jest !{{włączony|wyłączony}}","ko":"알람이 !{{켜지면|꺼지면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Heat alarm","nl":"Hitte-alarm","de":"Hitze-Alarm","fr":"Alarme chaleur","it":"Allarme di calore","sv":"Värmelarm","no":"Varmealarm","es":"Alarma de calor","da":"Varmealarm","ru":"Сигнал перегрева","pl":"Alarm termiczny","ko":"과열 감지"},"desc":{"en":"True when extreme heat has been detected","nl":"Gaat af als er extreme hitte gedetecteerd wordt","de":"True, wenn extreme Hitze erkannt wurde","fr":"Vrai si une chaleur extrême a été détectée","it":"Vero quando è stato rilevato un calore estremo","sv":"Sant när extrem hetta upptäckts","no":"Sann når ekstrem varme har blitt påvist","es":"Activado cuando se detecta calor extremo","da":"Sandt, når ekstrem varme er blevet opdaget","ru":"Значение «истина» при обнаружении экстремально высокой температуры","pl":"Adekwatny, kiedy wykryta zostanie ekstremalnie wysoka temperatura","ko":"과도한 열이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Heat alarm turned on","nl":"Hittealarm ging af","de":"Hitze-Alarm ist angegangen","fr":"Alarme chaleur s\'est activée","it":"Allarme di calore attivato","sv":"Värmelarm aktiverat","no":"Varmealarm aktivert","es":"Alarma de calor activada","da":"Varmealarm blev aktiveret","ru":"Сигнал перегрева включен","pl":"Alarm termiczny włączony","ko":"과열 감지됨"},"insightsTitleFalse":{"en":"Heat alarm turned off","nl":"Hittealarm ging uit","de":"Hitze-Alarm ist ausgegangen","fr":"Alarme chaleur s\'est désactivée","it":"Allarme di calore disattivato","sv":"Värmelarm inaktiverat","no":"Varmealarm deaktivert","es":"Alarma de calor desactivada","da":"Varmealarm blev deaktiveret","ru":"Сигнал перегрева выключен","pl":"Alarm termiczny wyłączony","ko":"정상"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_heat_true","highlight":true,"title":{"en":"The heat alarm turned on","nl":"Het hitte-alarm gaat aan","de":"Der Hitze-Alarm ist angegangen","fr":"L\'alarme chaleur s\'est activée","it":"L\'allarme di calore è stato attivato","sv":"Värmelarmet aktiverat","no":"Varmealarmen ble aktivert","es":"La alarma de calor se ha activado","da":"Varmealarmen blev aktiveret","ru":"Сигнал перегрева включен","pl":"Alarm termiczny włączony","ko":"과열이 감지되면"}},{"id":"alarm_heat_false","title":{"en":"The heat alarm turned off","nl":"Het hitte-alarm gaat uit","de":"Der Hitze-Alarm ist ausgegangen","fr":"L\'alarme chaleur s\'est désactivée","it":"L\'allarme di calore è stato disattivato","sv":"Värmelarmet inaktiverat","no":"Varmealarmen ble deaktivert","es":"La alarma de calor se ha desactivado","da":"Varmealarmen blev deaktiveret","ru":"Сигнал перегрева выключен","pl":"Alarm termiczny wyłączony","ko":"과열 감지가 정상 상태이면"}}],"conditions":[{"id":"alarm_heat","title":{"en":"The heat alarm is !{{on|off}}","nl":"Het hitte-alarm is !{{aan|uit}}","de":"Der Hitze-Alarm ist !{{an|aus}}","fr":"L\'alarme chaleur est !{{en marche|arrêtée}}","it":"L\'allarme di calore è !{{acceso|spento}}","sv":"Värmelarmet är !{{på|av}}","no":"Varmealarmen er !{{på|av}}","es":"La alarma de calor está !{{activada|desactivada}}","da":"Varmealarmen er !{{tændt|slukket}}","ru":"Сигнал перегрева !{{вкл.|выкл.}}","pl":"Alarm termiczny jest !{{włączony|wyłączony}}","ko":"!{{과열이 감지되면|과열 감지가 정상 상태이면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Light alarm","nl":"Lichtwaarschuwing","da":"Lysalarm","it":"Allarme luce","ko":"빛 감지","no":"Lysalarm","pl":"Alarm światła","ru":"Сигнал об освещении","sv":"Ljuslarm","es":"Alarma de luz","fr":"Alarme de lumière"},"desc":{"en":"True when light is detected.","nl":"Wordt geactiveerd wanneer licht wordt gedetecteerd.","da":"Sandt, når der registreres lys.","it":"Vero quando viene rilevata la luce.","ko":"빛이 감지되면 참입니다.","no":"Sann når lys er registrert.","pl":"Prawda, gdy wykryte jest światło.","ru":"Значение «истина» при обнаружении элемента освещения.","sv":"Sant när ljus detekteras.","es":"Activado cuando se detecta luz.","fr":"Se déclenche lorsque de la lumière est détectée."},"insights":true,"insightsTitleTrue":{"en":"Light was detected","nl":"Er werd licht gedetecteerd","da":"Lys blev registreret","it":"La luce è stata rilevata","ko":"빛 감지됨","no":"Lys ble registrert","pl":"Światło było wykryte","ru":"Элемент освещения был обнаружен","sv":"Ljus detekterades","es":"Se ha detectado luz","fr":"De la lumière a été détectée"},"insightsTitleFalse":{"en":"Light was no longer detected","nl":"Er werd geen licht meer gedetecteerd","da":"Lyset blev ikke længere registreret","it":"La luce non è più rilevata","ko":"빛 감지되지 않음","no":"Lys ble ikke lenger registrert","pl":"Światło nie było już wykryte","ru":"Элемент освещения больше не обнаруживался","sv":"Ljus detekterades inte längre","es":"No hay luz detectada","fr":"La lumière n\'est plus détectée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_light_true","highlight":true,"title":{"en":"Light is detected","nl":"Er wordt licht gedetecteerd","da":"Der er registreret lys","it":"Luce rilevata","ko":"빛이 감지되면","no":"Lys er registrert","pl":"Światło jest wykryte","ru":"Элемент освещения обнаружен","sv":"Ljus detekteras","es":"Se detecta luz","fr":"De la lumière est détectée"}},{"id":"alarm_light_false","title":{"en":"Light is no longer detected","nl":"Er wordt geen licht meer gedetecteerd","da":"Lyset registreres ikke længere","it":"La luce non è più rilevata","ko":"빛이 감지되지 않으면","no":"Lys registreres ikke lenger","pl":"Światło nie jest już wykryte","ru":"Элемент освещения больше не обнаруживается","sv":"Ljus detekteras inte längre","es":"Ya no se detecta luz","fr":"La lumière n\'est plus détectée"}}],"conditions":[{"id":"alarm_light","title":{"en":"Light !{{is|is not}} detected","nl":"Er !{{wordt|wordt geen}} licht gedetecteerd","da":"Lys !{{er|er ikke}} registreret","it":"La luce !{è|non è}} rilevata","ko":"빛이 감지!{{되면|되지 않으면}}","no":"Lys !{{er|er}} ikke registrert","pl":"Światło !{{jest|nie jest}} wykryte","ru":"Элемент освещения !{{обнаружен|не обнаружен}}","sv":"Ljus !{{har|har inte}} detekterats","es":"!{{Se detecta|No se detecta}} luz","fr":"Lumière !{{détectée|non détectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Lost alarm","nl":"Waarschuwing bij zoekraking","da":"Forsvundet alarm","it":"Allarme perso","ko":"기기 분실 감지","no":"Mistet-alarm","pl":"Alarm zgubienia","ru":"Сигнал о потере","sv":"Förlorat-larm","es":"Alarma de pérdida","fr":"Alarme de perte"},"desc":{"en":"True when the device is lost.","nl":"Wordt geactiveerd wanneer het apparaat zoek is.","da":"Sandt, når enheden er forsvundet.","it":"Vero quando il dispositivo viene perso.","ko":"디바이스를 분실하면 참입니다.","no":"Sann når enheten er mistet.","pl":"Prawda, gdy urządzenie jest zgubione.","ru":"Значение «истина», когда устройство потеряно.","sv":"Sant när enheten förloras.","es":"Activado cuando se ha perdido el dispositivo.","fr":"Se déclenche lorsque l\'appareil est perdu."},"insights":true,"insightsTitleTrue":{"en":"Was lost","nl":"Was zoek","da":"Forsvandt","it":"È stato perso","ko":"기기 분실됨","no":"Ble mistet","pl":"Było zgubione","ru":"Было потеряно","sv":"Förlorades","es":"Estaba perdido","fr":"Était perdu"},"insightsTitleFalse":{"en":"Was no longer lost","nl":"Was gevonden","da":"Var ikke længere forsvundet","it":"Non era più perso","ko":"기기 발견됨","no":"Var ikke lenger mistet","pl":"Nie było już zgubione","ru":"Больше не потеряно","sv":"Var inte längre förlorad","es":"Ya no estaba perdido","fr":"N\'était plus perdu"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_lost_true","highlight":true,"title":{"en":"Is lost","nl":"Is zoek","da":"Er forsvundet","it":"È perso","ko":"기기가 분실되면","no":"Er mistet","pl":"Jest zgubione","ru":"Потеряно","sv":"Är förlorad","es":"Se ha perdido","fr":"Est perdu"}},{"id":"alarm_lost_false","title":{"en":"Is no longer lost","nl":"Is gevonden","da":"Er ikke længere forsvundet","it":"Non è più perso","ko":"기기가 발견되면","no":"Er ikke lenger mistet","pl":"Nie jest już zgubione","ru":"Больше не потеряно","sv":"Är inte längre förlorad","es":"Ya no está perdido","fr":"N\'est plus perdu"}}],"conditions":[{"id":"alarm_lost","title":{"en":"Is !{{lost|not lost}}","nl":"Is !{{zoek|gevonden}}","da":"Er !{{forsvundet|ikke forsvundet}}","it":"È !{{perso|non perso}}","ko":"기기가 !{{분실되면|발견되면}}","no":"Er !{{mistet|ikke mistet}}","pl":"!{{jest zgubione|nie jest zgubione}} ","ru":"Устройство !{{потеряно|не потеряно}}","sv":"Är !{{förlorad|inte förlorad}}","es":"{{Se ha perdido|Ya no esta perdido}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Moisture alarm","nl":"Vochtwaarschuwing","da":"Fugtalarm","it":"Allarme umidità","ko":"습기 감지","no":"Fuktalarm","pl":"Alarm wilgoci","ru":"Сигнал влаги","sv":"Fuktlarm","es":"Alarma de humedad","fr":"Alarme d\'humidité"},"desc":{"en":"True when moisture is detected.","nl":"Wordt geactiveerd wanneer vocht wordt gedetecteerd.","da":"Sandt, når der registreres fugt.","it":"Vero quando viene rilevata umidità.","ko":"습기가 감지되면 참입니다.","no":"Sann når fuktighet er oppdaget.","pl":"Prawda, gdy wykryta jest wilgoć.","ru":"Значение «истина» при обнаружении влаги.","sv":"Sant när fukt detekteras.","es":"Activado cuando se detecta humedad.","fr":"Se déclenche lorsque de l\'humidité est détectée."},"insights":true,"insightsTitleTrue":{"en":"Moisture Alarm turned on","nl":"Vochtwaarschuwing geactiveerd","da":"Fugtalarm slået til","it":"Allarme umidità acceso","ko":"습기 감지됨","no":"Fuktalarm aktivert","pl":"Alarm wilgoci włączony","ru":"Сигнал влаги включен","sv":"Fuktlarm aktiverat","es":"Alarma de humedad activada","fr":"Alarme d\'humidité activée"},"insightsTitleFalse":{"en":"Moisture Alarm turned off","nl":"Vochtwaarschuwing gedeactiveerd","da":"Fugtalarm slået fra","it":"Allarme umidità spento","ko":"습기 감지되지 않음","no":"Fuktalarm deaktivert","pl":"Alarm wilgoci wyłączony","ru":"Сигнал влаги выключен","sv":"Fuktlarmet inaktiverat","es":"Alarma de humedad desactivada","fr":"Alarme d\'humidité désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_moisture_true","highlight":true,"title":{"en":"The moisture alarm turned on","nl":"De vochtwaarschuwing is geactiveerd","da":"Fugtalarmen er slået til","it":"L\'allarme umidità si è acceso","ko":"습기가 감지되면","no":"Fuktalarmen ble aktivert","pl":"Włączył się alarm wilgoci","ru":"Сигнал влаги включен","sv":"Fuktlarmet är aktiverat","es":"La alarma de humedad se ha activado","fr":"L\'alarme d\'humidité s\'est activée"}},{"id":"alarm_moisture_false","title":{"en":"The moisture alarm turned off","nl":"De vochtwaarschuwing is gedeactiveerd","da":"Fugtalarmen er slået fra","it":"L\'allarme umidità si è spento","ko":"습기가 감지되지 않으면","no":"Fuktalarmen ble deaktivert","pl":"Wyłączył się alarm wilgoci","ru":"Сигнал влаги выключен","sv":"Fuktlarmet inaktiverat","es":"La alarma de humedad se ha desactivado","fr":"L\'alarme d\'humidité s\'est désactivée"}}],"conditions":[{"id":"alarm_moisture","title":{"en":"The moisture alarm is !{{on|off}}","nl":"De vochtwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Fugtalarmen er slået !{{til|fra}}","it":"L\'allarme umidità è !{{acceso|spento}}","ko":"습기가 감지!{{되면|되지 않으면}}","no":"Fuktalarmen er !{{på|av}}","pl":"Alarm wilgoci jest !{{włączony|wyłączony}}","ru":"Сигнал влаги !{{включен|выключен}}","sv":"Fuktlarmet är aktiverat !{{på|av}}","es":"La alarma de humedad está !{{activada|desactivada}}","fr":"L\'alarme d\'humidité est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Motion alarm","nl":"Bewegingsalarm","de":"Bewegungs-Alarm","fr":"Alarme mouvement","it":"Allarme di movimento","sv":"Rörelselarm","no":"Bevegelsesalarm","es":"Alarma de movimiento","da":"Bevægelsesalarm","ru":"Сигнал движения","pl":"Czujnik ruchu","ko":"움직임 감지"},"insights":true,"insightsTitleTrue":{"en":"Motion alarm turned on","nl":"Bewegingsalarm ging af","de":"Bewegungs-Alarm ist angegangen","fr":"Alarme mouvement s\'est déclenchée","it":"Allarme di movimento attivato","sv":"Rörelselarm aktiverat","no":"Bevegelsesalarm aktivert","es":"Alarma de movimiento activada","da":"Bevægelsesalarm blev aktiveret","ru":"Сигнал движения включен","pl":"Czujnik ruchu włączony","ko":"움직임 감지됨"},"insightsTitleFalse":{"en":"Motion alarm turned off","nl":"Bewegingsalarm ging uit","de":"Bewegungs-Alarm ist ausgegangen","fr":"Alarme mouvement s\'est désactivée","it":"Allarme di movimento disattivato","sv":"Rörelselarm inaktiverat","no":"Bevegelsesalarm deaktivert","es":"Alarma de movimiento desactivada","da":"Bevægelsesalarm blev deaktiveret","ru":"Сигнал движения выключен","pl":"Czujnik ruchu wyłączony","ko":"움직임 없음"},"getable":true,"setable":false,"uiComponent":"sensor","options":{"zoneActivity":true},"$flow":{"triggers":[{"id":"alarm_motion_true","highlight":true,"title":{"en":"The motion alarm turned on","nl":"De bewegingsmelder gaat aan","de":"Der Bewegungs-Alarm ist angegangen","fr":"L\'alarme mouvement s\'est activée","it":"L\'allarme di movimento è stato attivato","sv":"Rörelselarmet aktiverat","no":"Bevegelsesalarmen ble aktivert","es":"La alarma de movimiento se ha activado","da":"Bevægelsesalarmen blev aktiveret","ru":"Сигнал движения включен","pl":"Czujnik ruchu włączony","ko":"움직임이 감지되면"}},{"id":"alarm_motion_false","title":{"en":"The motion alarm turned off","nl":"De bewegingsmelder gaat uit","de":"Der Bewegungs-Alarm ist ausgegangen","fr":"L\'alarme mouvement s\'est désactivée","it":"L\'allarme di movimento è stato disattivato","sv":"Rörelselarmet inaktiverat","no":"Bevegelsesalarmen ble deaktivert","es":"La alarma de movimiento se ha desactivado","da":"Bevægelsesalarmen blev deaktiveret","ru":"Сигнал движения выключен","pl":"Czujnik ruchu wyłączony","ko":"움직임이 없으면"}}],"conditions":[{"id":"alarm_motion","title":{"en":"The motion alarm is !{{on|off}}","nl":"De bewegingsmelder is !{{aan|uit}}","de":"Der Bewegungs-Alarm ist !{{an|aus}}","fr":"L\'alarme mouvement est !{{en marche|arrêtée}}","it":"L\'allarme di movimento è !{{acceso|spento}}","sv":"Rörelselarmet är !{{på|av}}","no":"Bevegelsesalarmen er !{{på|av}}","es":"La alarma de movimiento está !{{activada|desactivada}}","da":"Bevægelsesalarmen er !{{tændt|slukket}}","ru":"Сигнал движения !{{вкл.|выкл.}}","pl":"Czujnik ruchu jest !{{włączony|wyłączony}}","ko":"움직임이 !{{감지되면|없으면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Night alarm","nl":"Nachtalarm","de":"Nacht-Alarm","fr":"Alarme nuit","it":"Allarme notturno","sv":"Nattlarm","no":"Nattalarm","es":"Alarma nocturna","da":"Natalarm","ru":"Ночной сигнал","pl":"Alarm nocny","ko":"야간 알람"},"desc":{"en":"True when it is night","nl":"Gaat af als het nacht is","de":"True, wenn es Nacht ist","fr":"Vrai quand il fait nuit","it":"Vero quando è notte","sv":"Sant när det är natt","no":"Sant når det er natt","es":"Activado cuando es de noche","da":"Sandt, når det er nat","ru":"Значение «истина» ночью","pl":"Adekwatny, kiedy jest noc","ko":"밤이 되면 참"},"insights":true,"insightsTitleTrue":{"en":"Night alarm turned on","nl":"Nachtalarm ging af","de":"Nacht-Alarm ist angegangen","fr":"Alarme nuit s\'est activée","it":"Allarme notturno attivato","sv":"Nattlarm aktiverat","no":"Nattalarm aktivert","es":"Alarma nocturna activada","da":"Natalarm blev aktiveret","ru":"Ночной сигнал включен","pl":"Alarm nocny włączony","ko":"야간 알람 켜짐"},"insightsTitleFalse":{"en":"Night alarm turned off","nl":"Nachtalarm ging uit","de":"Nacht-Alarm ist ausgegangen","fr":"Alarme nuit s\'est désactivée","it":"Allarme notturno disattivato","sv":"Nattlarm inaktiverat","no":"Nattalarm deaktivert","es":"Alarma nocturna desactivada","da":"Natalarm blev deaktiveret","ru":"Ночной сигнал выключен","pl":"Alarm nocny wyłączony","ko":"야간 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_night_true","title":{"en":"The night alarm turned on","nl":"Het nachtalarm gaat aan","de":"Der Nacht-Alarm ist angegangen","fr":"L\'alarme nuit s\'est activée","it":"L\'allarme notturno è stato attivato","sv":"Nattlarmet aktiverat","no":"Nattalarmen ble aktivert","es":"La alarma nocturna se ha activado","da":"Natalarmen blev aktiveret","ru":"Ночной сигнал включен","pl":"Alarm nocny włączony","ko":"야간이면"}},{"id":"alarm_night_false","title":{"en":"The night alarm turned off","nl":"Het nachtalarm gaat uit","de":"Der Nacht-Alarm ist ausgegangen","fr":"L\'alarme nuit s\'est désactivée","it":"L\'allarme notturno è stato disattivato","sv":"Nattlarmet inaktiverat","no":"Nattalarmen ble deaktivert","es":"La alarma nocturna se ha desactivado","da":"Natalarmen blev deaktiveret","ru":"Ночной сигнал выключен","pl":"Alarm nocny wyłączony","ko":"야간이 아니면"}}],"conditions":[{"id":"alarm_night","title":{"en":"The night alarm is !{{on|off}}","nl":"Het nachtalarm is !{{aan|uit}}","de":"Der Nacht-Alarm ist !{{an|aus}}","fr":"L\'alarme nuit est !{{en marche|arrêtée}}","it":"L\'allarme notturno è !{{acceso|spento}}","sv":"Nattlarmet är !{{på|av}}","no":"Nattalarmen er !{{på|av}}","es":"La alarma nocturna está !{{activada|desactivada}}","da":"Natalarmen er !{{tændt|slukket}}","ru":"Ночной сигнал !{{вкл.|выкл.}}","pl":"Alarm nocny jest !{{włączony|wyłączony}}","ko":"야간!{{이면|이 아니면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Noise alarm","nl":"Geluidswaarschuwing","da":"Støjalarm","it":"Allarme rumore","ko":"소음 감지","no":"Støyalarm","pl":"Alarm hałasu","ru":"Сигнал шума","sv":"Bullerlarm","es":"Alarma de ruido","fr":"Alarme sonore"},"desc":{"en":"True when sound is detected.","nl":"Wordt geactiveerd wanneer geluid wordt gedetecteerd.","da":"Sandt, når der registreres lyd.","it":"Vero quando viene rilevato un suono.","ko":"소리가 감지되면 참입니다.","no":"Sann når lyd registreres.","pl":"Prawda, gdy wykryty jest dźwięk.","ru":"Значение «истина» при обнаружении звука.","sv":"Sant när ljud detekteras.","es":"Activado cuando se detecta sonido.","fr":"Se déclenche lorsque du son est détecté."},"insights":true,"insightsTitleTrue":{"en":"Noise Alarm turned on","nl":"Geluidswaarschuwing geactiveerd","da":"Støjalarm slået til","it":"Allarme rumore acceso","ko":"소음 감지됨","no":"Støyalarm aktivert","pl":"Alarm hałasu włączony","ru":"Сигнал шума включен","sv":"Bullerlarm aktiverat","es":"Alarma de ruido activada","fr":"Alarme sonore activée"},"insightsTitleFalse":{"en":"Noise Alarm turned off","nl":"Geluidswaarschuwing gedeactiveerd","da":"Støjalarm slået fra","it":"Allarme rumore spento","ko":"소음 감지되지 않음","no":"Støyalarm deaktivert","pl":"Alarm hałasu wyłączony","ru":"Сигнал шума выключен","sv":"Bullerlarm inaktiverat","es":"Alarma de ruido desactivada","fr":"Alarme sonore désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_noise_true","highlight":true,"title":{"en":"The noise alarm turned on","nl":"De geluidswaarschuwing is geactiveerd","da":"Støjalarmen er slået til","it":"L\'allarme rumore si è acceso","ko":"소음이 감지되면","no":"Støyalarmen ble aktivert","pl":"Włączył się alarm hałasu","ru":"Сигнал шума включен","sv":"Bullerlarm aktiverat","es":"La alarma de ruido se ha activado","fr":"L\'alarme sonore s\'est activée"}},{"id":"alarm_noise_false","title":{"en":"The noise alarm turned off","nl":"De geluidswaarschuwing is gedeactiveerd","da":"Støjalarmen slået fra","it":"L\'allarme rumore si è spento","ko":"소음이 감지되지 않으면","no":"Støyalarmen ble deaktivert","pl":"Wyłączył się alarm hałasu","ru":"Сигнал шума выключен","sv":"Bullerlarm inaktiverat","es":"La alarma de ruido se ha desactivado","fr":"L\'alarme sonore s\'est désactivée"}}],"conditions":[{"id":"alarm_noise","title":{"en":"The noise alarm is !{{on|off}}","nl":"De geluidswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Støjalarmen er slået !{{til|fra}}","it":"L\'allarme rumore è !{{acceso|spento}}","ko":"소음이 감지!{{되면|되지 않으면}}","no":"Støyalarmen er !{{på|av}}","pl":"Alarm hałasu jest !{{włączony|wyłączony}}","ru":"Сигнал шума !{{включен|выключен}}","sv":"Bullerlarmet är aktiverat !{{på|av}}","es":"La alarma de ruido está !{{activada|desactivada}}","fr":"L\'alarme sonore est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Occupancy alarm","nl":"Waarschuwing bij gebruik","da":"Tilstedeværelsesalarm","it":"Allarme occupazione","ko":"점유 감지","no":"Bruksalarm","pl":"Alarm zajętości","ru":"Сигнал о занятости","sv":"Närvarolarm","es":"Alarma de ocupación","fr":"Alarme d\'occupation"},"desc":{"en":"True when occupancy is detected.","nl":"Wordt geactiveerd wanneer gebruik wordt gedetecteerd.","da":"Sandt, når tilstedeværelse registreres.","it":"Vero quando viene rilevata l\'occupazione.","ko":"내부에 사람이 감지되면 참입니다.","no":"Sann når bruk er registrert.","pl":"Prawda, gdy wykryta jest zajętość.","ru":"Значение «истина» при обнаружении занятости.","sv":"Sant när närvaro detekteras.","es":"Activado cuando se detecta ocupación.","fr":"Se déclenche lorsque une occupation est détectée."},"insights":true,"insightsTitleTrue":{"en":"Occupancy alarm turned on","nl":"Waarschuwing bij gebruik geactiveerd","da":"Tilstedeværelsesalarm slået til","it":"Allarme occupazione acceso","ko":"점유 감지됨","no":"Bruksalarm aktivert","pl":"Alarm zajętości włączony","ru":"Сигнал о занятости включен","sv":"Närvarolarm aktiverat","es":"Alarma de ocupación activada","fr":"Alarme d\'occupation activée"},"insightsTitleFalse":{"en":"Occupancy alarm turned off","nl":"Waarschuwing bij gebruik gedeactiveerd","da":"Tilstedeværelsesalarm slået fra","it":"Allarme occupazione spento","ko":"점유 감지되지 않음","no":"Bruksalarm deaktivert","pl":"Alarm zajętości wyłączony","ru":"Сигнал о занятости выключен","sv":"Närvarolarm inaktiverat","es":"Alarma de ocupación desactivada","fr":"Alarme d\'occupation désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_occupancy_true","highlight":true,"title":{"en":"The occupancy alarm turned on","nl":"De waarschuwing bij gebruik is geactiveerd","da":"Tilstedeværelsesalarmen er slået til","it":"L\'allarme occupazione si è acceso","ko":"점유가 감지되면","no":"Bruksalarmen ble aktivert","pl":"Włączył się alarm zajętości","ru":"Сигнал о занятости включен","sv":"Närvarolarmet aktiverat","es":"La alarma de ocupación se ha activado","fr":"L\'alarme d\'occupation s\'est activée"}},{"id":"alarm_occupancy_false","title":{"en":"The occupancy alarm turned off","nl":"De waarschuwing bij gebruik is gedeactiveerd","da":"Tilstedeværelsesalarmen er slået fra","it":"L\'allarme occupazione si è spento","ko":"점유가 감지되지 않으면","no":"Bruksalarmen ble deaktivert","pl":"Wyłączył się alarm zajętości","ru":"Сигнал о занятости выключен","sv":"Närvarolarmet inaktiverat","es":"La alarma de ocupación se ha desactivado","fr":"L\'alarme d\'occupation s\'est désactivée"}}],"conditions":[{"id":"alarm_occupancy","title":{"en":"Is !{{occupied|not occupied}}","nl":"Wordt !{{gebruikt|niet gebruikt}}","da":"Er ! {{beboet|ikke beboet}}","it":"È !{{occupato|non occupato}}","ko":"점유가 감지!{{되면|되지 않으면}}","no":"Er !{{i bruk|ikke i bruk}}","pl":"Jest !{{zajęte|niezajęte}}","ru":"Устройство !{{занято|не занято}}","sv":"Är !{{närvarande|inte närvarande}}","es":"!{{Está ocupado|No está ocupado}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM0.1 alarm","nl":"PM0.1-waarschuwing","de":"PM0.1-Alarm","fr":"Alarme PM0.1","it":"Allarme PM0.1","sv":"PM0.1-larm","no":"PM0.1-alarm","es":"Alarma de PM0,1","da":"PM0.1-alarm","ru":"Сигнал ТЧ0.1","pl":"Alarm PM0.1","ko":"나노미세먼지(PM0.1) 알람"},"desc":{"en":"True when PM0.1 values exceeds threshold","nl":"Wordt geactiveerd wanneer PM0.1-waarden de drempel overschrijden","de":"True, wenn PM0.1-Werte die Schwelle überschreiten","fr":"Se déclenche lorsque les valeurs PM0.1 excèdent un seuil","it":"Vero quando i valori PM0.1 superano la soglia","sv":"Sant när PM0.1-värdena överstiger gränsvärdet","no":"Sann når PM0.1-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM0,1 superan el límite","da":"Sandt, når PM0.1-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ0.1","pl":"Prawda, gdy wartości PM0.1 przekraczają próg","ko":"PM0.1 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM0.1 alarm turned on","nl":"PM0.1-waarschuwing geactiveerd","de":"PM0.1-Alarm ist angegangen","fr":"Alarme PM0.1 activée","it":"Allarme PM0.1 acceso","sv":"PM0.1-larm aktiverat","no":"PM0.1-alarm aktivert","es":"Alarma de PM0,1 activada","da":"PM0.1-alarm blev aktiveret","ru":"Сигнал ТЧ0.1 включен","pl":"Alarm PM0.1 włączony","ko":"나노미세먼지(PM0.1) 알람 켜짐"},"insightsTitleFalse":{"en":"PM0.1 alarm turned off","nl":"PM0.1-waarschuwing gedeactiveerd","de":"PM0.1-Alarm ist ausgegangen","fr":"Alarme PM0.1 désactivée","it":"Allarme PM0.1 spento","sv":"PM0.1-larm inaktiverat","no":"PM0.1-alarm deaktivert","es":"Alarma de PM0,1 desactivada","da":"PM0.1-alarm blev deaktiveret","ru":"Сигнал ТЧ0.1 выключен","pl":"Alarm PM0.1 wyłączony","ko":"나노미세먼지(PM0.1) 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm01_true","highlight":true,"title":{"en":"The PM0.1 alarm turned on","nl":"De PM0.1-waarschuwing is geactiveerd","de":"Der PM0.1-Alarm ist angegangen","fr":"L\'alarme PM0.1 s\'est activée","it":"L\'allarme PM0.1 si è acceso","sv":"PM0.1-larmet aktiverat","no":"PM0.1-alarmen ble aktivert","es":"La alarma de PM0,1 se ha activado","da":"PM0.1-alarmen blev aktiveret","ru":"Сигнал ТЧ0.1 включен","pl":"Włączył się alarm PM0.1","ko":"나노미세먼지(PM0.1) 알람이 \'예\'이면"}},{"id":"alarm_pm01_false","title":{"en":"The PM0.1 alarm turned off","nl":"De PM0.1-waarschuwing is gedeactiveerd","de":"Der PM0.1-Alarm ist ausgegangen","fr":"L\'alarme PM0.1 s\'est désactivée","it":"L\'allarme PM0.1 si è spento","sv":"PM0.1-larmet inaktiverat","no":"PM0.1-alarmen ble deaktivert","es":"La alarma de PM0,1 se ha desactivado","da":"PM0.1-alarmen blev deaktiveret","ru":"Сигнал ТЧ0.1 выключен","pl":"Wyłączył się alarm PM0.1","ko":"나노미세먼지(PM0.1) 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_pm01","title":{"en":"The PM0.1 alarm is !{{on|off}}","nl":"De PM0.1-waarschuwing is !{{geactiveerd|gedeactiveerd}}","de":"Der PM0.1-Alarm ist !{{an|aus}}","fr":"L\'alarme PM0.1 est !{{activée|désactivée}}","it":"L\'allarme PM0.1 è !{{acceso|spento}}","sv":"PM0.1-larmet är !{{på|av}}","no":"PM0.1-alarmen er !{{på|av}}","es":"La alarma de PM0,1 está !{{activada|desactivada}}","da":"PM0.1-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ0.1 !{{включен|выключен}}","pl":"Alarm PM0.1 jest !{{włączony|wyłączony}}","ko":"나노미세먼지(PM0.1) 알람이 !{{\'예\'|\'아니요\'}}이면"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM1 alarm","nl":"PM1-waarschuwing","de":"PM1-Alarm","fr":"Alarme PM1","it":"Allarme PM1","sv":"PM1-larm","no":"PM1-alarm","es":"Alarma de PM1","da":"PM1-alarm","ru":"Сигнал ТЧ1","pl":"Alarm PM1","ko":"극초미세먼지(PM1.0) 알람"},"desc":{"en":"True when PM1 values exceeds threshold","nl":"Wordt geactiveerd wanneer PM1-waarden de drempel overschrijden","de":"True, wenn PM1-Werte die Schwelle überschreiten","fr":"Se déclenche lorsque les valeurs PM1 excèdent un seuil","it":"Vero quando i valori PM1 superano la soglia","sv":"Sant när PM1-värdena överstiger gränsvärdet","no":"Sann når PM1-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM1 superan el límite","da":"Sandt, når PM1-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ1","pl":"Prawda, gdy wartości PM1 przekraczają próg","ko":"PM1 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM1 alarm turned on","nl":"PM1-waarschuwing geactiveerd","de":"PM1-Alarm ist angegangen","fr":"Alarme PM1 activée","it":"Allarme PM1 acceso","sv":"PM1-larm aktiverat","no":"PM1-alarm aktivert","es":"Alarma de PM1 activada","da":"PM1-alarm blev aktiveret","ru":"Сигнал ТЧ1 включен","pl":"Alarm PM1 włączony","ko":"극초미세먼지(PM1.0) 알람 켜짐"},"insightsTitleFalse":{"en":"PM1 alarm turned off","nl":"PM1-waarschuwing gedeactiveerd","de":"PM1-Alarm ist ausgegangen","fr":"Alarme PM1 désactivée","it":"Allarme PM1 spento","sv":"PM1-larm inaktiverat","no":"PM1-alarmen ble deaktivert","es":"Alarma de PM1 desactivada","da":"PM1-alarm blev deaktiveret","ru":"Сигнал ТЧ1 выключен","pl":"Alarm PM1 wyłączony","ko":"극초미세먼지(PM1.0) 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm1_true","highlight":true,"title":{"en":"The PM1 alarm turned on","nl":"De PM1-waarschuwing is geactiveerd","de":"Der PM1-Alarm ist angegangen","fr":"L\'alarme PM1 s\'est activée","it":"L\'allarme PM1 si è acceso","sv":"PM1-larmet aktiverat","no":"PM1-alarmen ble aktivert","es":"La alarma de PM1 se ha activado","da":"PM1-alarmen blev aktiveret","ru":"Сигнал ТЧ1 включен","pl":"Włączył się alarm PM1","ko":"극초미세먼지(PM1.0) 알람이 \'예\'이면"}},{"id":"alarm_pm1_false","title":{"en":"The PM1 alarm turned off","nl":"De PM1-waarschuwing is gedeactiveerd","de":"Der PM1-Alarm ist ausgegangen","fr":"L\'alarme PM1 s\'est désactivée","it":"L\'allarme PM1 si è spento","sv":"PM1-larmet inaktiverat","no":"PM1-alarmen ble deaktivert","es":"La alarma de PM1 se ha desactivado","da":"PM1-alarmen blev deaktiveret","ru":"Сигнал ТЧ1 выключен","pl":"Wyłączył się alarm PM1","ko":"극초미세먼지(PM1.0) 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_pm1","title":{"en":"The PM1 alarm is !{{on|off}}","nl":"De PM1-waarschuwing is !{{geactiveerd|gedeactiveerd}}","de":"Der PM1-Alarm ist !{{an|aus}}","fr":"L\'alarme PM1 est !{{activée|désactivée}}","it":"L\'allarme PM1 è !{{acceso|spento}}","sv":"PM1-larmet är !{{på|av}}","no":"PM1-alarmen er !{{på|av}}","es":"La alarma de PM1 está !{{activada|desactivada}}","da":"PM1-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ1 !{{включен|выключен}}","pl":"Alarm PM1 jest !{{włączony|wyłączony}}","ko":"극초미세먼지(PM1.0) 알람이 !{{\'예\'|\'아니요\'}}이면"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM10 alarm","nl":"PM10-waarschuwing","de":"PM10-Alarm","fr":"Alarme PM10","it":"Allarme PM10","sv":"PM10-larm","no":"PM10-alarm","es":"Alarma de PM10","da":"PM10-alarm","ru":"Сигнал ТЧ10","pl":"Alarm PM10","ko":"미세먼지(PM10) 알람"},"desc":{"en":"True when PM10 values exceeds threshold","nl":"Wordt geactiveerd wanneer PM10-waarden de drempel overschrijden","de":"True, wenn PM10-Werte die Schwelle überschreiten","fr":"Se déclenche lorsque les valeurs PM10 excèdent un seuil","it":"Vero quando i valori PM10 superano la soglia","sv":"Sant när PM10-värdena överstiger gränsvärdet","no":"Sann når PM10-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM10 superan el límite","da":"Sandt, når PM10-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ10","pl":"Prawda, gdy wartości PM10 przekraczają próg","ko":"PM10 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM10 alarm turned on","nl":"PM10-waarschuwing geactiveerd","de":"PM10-Alarm ist angegangen","fr":"Alarme PM10 activée","it":"Allarme PM10 acceso","sv":"PM10-larm aktiverat","no":"PM10-alarm aktivert","es":"Alarma de PM10 activada","da":"PM10-alarm blev aktiveret","ru":"Сигнал ТЧ10 включен","pl":"Alarm PM10 włączony","ko":"미세먼지(PM10) 알람 켜짐"},"insightsTitleFalse":{"en":"PM10 alarm turned off","nl":"PM10-waarschuwing gedeactiveerd","de":"PM10-Alarm ist ausgegangen","fr":"Alarme PM10 désactivée","it":"Allarme PM10 spento","sv":"PM10-larm inaktiverat","no":"PM10-alarm deaktivert","es":"Alarma de PM10 desactivada","da":"PM10-alarm blev deaktiveret","ru":"Сигнал ТЧ10 выключен","pl":"Alarm PM10 wyłączony","ko":"미세먼지(PM10) 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm10_true","highlight":true,"title":{"en":"The PM10 alarm turned on","nl":"De PM10-waarschuwing is geactiveerd","de":"Der PM10-Alarm ist angegangen","fr":"L\'alarme PM10 s\'est activée","it":"L\'allarme PM10 si è acceso","sv":"PM10-larmet aktiverat","no":"PM10-alarmen ble aktivert","es":"La alarma de PM10 se ha activado","da":"PM10-alarmen blev aktiveret","ru":"Сигнал ТЧ10 включен","pl":"Włączył się alarm PM10","ko":"미세먼지(PM10) 알람이 \'예\'이면"}},{"id":"alarm_pm10_false","title":{"en":"The PM10 alarm turned off","nl":"De PM10-waarschuwing is gedeactiveerd","de":"Der PM10-Alarm ist ausgegangen","fr":"L\'alarme PM10 s\'est désactivée","it":"L\'allarme PM10 si è spento","sv":"PM10-larmet inaktiverat","no":"PM10-alarmen ble deaktivert","es":"La alarma de PM10 se ha desactivado","da":"PM10-alarmen blev deaktiveret","ru":"Сигнал ТЧ10 выключен","pl":"Wyłączył się alarm PM10","ko":"미세먼지(PM10) 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_pm10","title":{"en":"The PM10 alarm is !{{on|off}}","nl":"De PM10-waarschuwing is !{{geactiveerd|gedeactiveerd}}","de":"Der PM10-Alarm ist !{{an|aus}}","fr":"L\'alarme PM10 est !{{activée|désactivée}}","it":"L\'allarme PM10 è !{{acceso|spento}}","sv":"PM10-larmet är !{{på|av}}","no":"PM10-alarmen er !{{på|av}}","es":"La alarma de PM10 está !{{activada|desactivada}}","da":"PM10-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ10 !{{включен|выключен}}","pl":"Alarm PM10 jest !{{włączony|wyłączony}}","ko":"미세먼지(PM10) 알람이 !{{\'예\'|\'아니요\'}}이면"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"PM2.5 alarm","nl":"PM2,5-alarm","de":"PM2.5-Alarm","fr":"Alarme PM2.5","it":"Allarme PM2.5","sv":"PM2.5-larm","no":"PM2.5-alarm","es":"Alarma de PM2,5","da":"PM2,5-alarm","ru":"Сигнал ТЧ 2.5","pl":"Alarm PM2.5","ko":"초미세먼지(PM2.5) 알람"},"desc":{"en":"True when PM2.5 values exceeds threshold","nl":"Gaat af wanneer de PM2,5 waarde overschreden wordt","de":"True, wenn PM2.5-Werte die Schwelle überschreiten","fr":"Vrai si les valeurs PM2.5 excèdent un seuil","it":"Vero quando i valori PM2.5 superano la soglia","sv":"Sant när PM2.5-värdena överstiger gränsvärdet","no":"Sant når PM2.5-verdiene overskrider grenseverdien","es":"Activado cuando los valores de PM2,5 superan el límite","da":"Sandt, når PM2,5-værdier overskrider grænseværdien","ru":"Значение «истина» при превышении контрольного значения ТЧ 2.5","pl":"Prawda, gdy wartości PM2.5 przekaczają próg","ko":"PM2.5 값이 임계값을 초과하면 참"},"insights":true,"insightsTitleTrue":{"en":"PM2.5 alarm turned on","nl":"PM2,5 alarm ging af","de":"PM2.5-Alarm ist angegangen","fr":"Alarme PM2.5 s\'est activée","it":"Allarme PM2.5 attivato","sv":"PM2.5-larm aktiverat","no":"PM2.5-alarm aktivert","es":"Alarma de PM2,5 activada","da":"PM2,5-alarm blev aktiveret","ru":"Сигнал ТЧ 2.5 включен","pl":"Alarm PM2.5 włączony","ko":"초미세먼지(PM2.5) 알람 켜짐"},"insightsTitleFalse":{"en":"PM2.5 alarm turned off","nl":"PM2,5 alarm ging uit","de":"PM2.5-Alarm ist ausgegangen","fr":"Alarme PM2.5 s\'est désactivée","it":"Allarme PM2.5 disattivato","sv":"PM2.5-larm inaktiverat","no":"PM2.5-alarm deaktivert","es":"Alarma de PM2,5 desactivada","da":"PM2,5-alarm blev deaktiveret","ru":"Сигнал ТЧ 2.5 выключен","pl":"Alarm PM2.5 wyłączony","ko":"초미세먼지(PM2.5) 알람 꺼짐"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pm25_true","highlight":true,"title":{"en":"The PM2.5 alarm turned on","nl":"Het PM2,5 gaat aan","de":"Der PM2.5-Alarm ist angegangen","fr":"L\'alarme PM2.5 s\'est activée","it":"L\'allarme PM2.5 è stato attivato","sv":"PM2.5-larmet aktiverat","no":"PM2.5-alarmen ble aktivert","es":"La alarma de PM2,5 se ha activado","da":"PM2,5-alarmen blev aktiveret","ru":"Сигнал ТЧ 2.5 включен","pl":"Alarm PM2.5 włączony","ko":"초미세먼지(PM2.5) 알람이 \'예\'이면"}},{"id":"alarm_pm25_false","title":{"en":"The PM2.5 alarm turned off","nl":"Het PM2,5 gaat uit","de":"Der PM2.5-Alarm ist ausgegangen","fr":"L\'alarme PM2.5 s\'est désactivée","it":"L\'allarme PM2.5 è stato disattivato","sv":"PM2.5-larmet inaktiverat","no":"PM2.5-alarmen ble deaktivert","es":"La alarma de PM2,5 se ha desactivado","da":"PM2,5-alarmen blev deaktiveret","ru":"Сигнал ТЧ 2.5 выключен","pl":"Alarm PM2.5 wyłączony","ko":"초미세먼지(PM2.5) 알람이 \'아니요\'이면"}}],"conditions":[{"id":"alarm_pm25","title":{"en":"The PM2.5 alarm is !{{on|off}}","nl":"Het PM2,5 alarm is !{{aan|uit}}","de":"Der PM2.5-Alarm ist !{{an|aus}}","fr":"L\'alarme PM2.5 est !{{en marche|arrêtée}}","it":"L\'allarme PM2.5 è !{{acceso|spento}}","sv":"PM2.5-larmet är !{{på|av}}","no":"PM2.5-alarmen er !{{på|av}}","es":"La alarma de PM2,5 está !{{activada|desactivada}}","da":"PM2,5-alarmen er !{{tændt|slukket}}","ru":"Сигнал ТЧ 2.5 !{{вкл.|выкл.}}","pl":"Alarm PM2.5 jest !{{włączony|wyłączony}}","ko":"초미세먼지(PM2.5) 알람이 !{{\'예\'|\'아니요\'}}이면"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Power alarm","nl":"Stroomwaarschuwing","da":"Strømalarm","it":"Allarme alimentazione","ko":"전원 감지","no":"Strømalarm","pl":"Alarm zasilania","ru":"Сигнал питания","sv":"Strömlarm","es":"Alarma de suministro eléctrico","fr":"Alarme d\'alimentation électrique"},"desc":{"en":"True when power is detected.","nl":"Wordt geactiveerd wanneer stroom wordt gedetecteerd.","da":"Sandt, når der registreres strøm.","it":"Vero quando viene rilevata l\'alimentazione.","ko":"전원이 감지되면 참입니다.","no":"Sann når strøm registreres.","pl":"Prawda, gdy wykryte jest zasilanie.","ru":"Значение «истина» при обнаружении питания.","sv":"Sant när strömförsörjning detekteras.","es":"Activado cuando se detecta suministro eléctrico.","fr":"Se déclenche lorsque une alimentation électrique est détectée."},"insights":true,"insightsTitleTrue":{"en":"Power alarm turned on","nl":"Stroomwaarschuwing geactiveerd","da":"Strømalarm slået til","it":"Allarme alimentazione acceso","ko":"전원 감지됨","no":"Strømalarm aktivert","pl":"Alarm zasilania włączony","ru":"Сигнал питания включен","sv":"Strömlarm aktiverat","es":"Alarma de suministro eléctrico activada","fr":"Alarme d\'alimentation électrique activée"},"insightsTitleFalse":{"en":"Power alarm turned off","nl":"Stroomwaarschuwing gedeactiveerd","da":"Strømalarm slået fra","it":"Allarme alimentazione spento","ko":"전원 없음","no":"Strømalarm deaktivert","pl":"Alarm zasilania wyłączony","ru":"Сигнал питания выключен","sv":"Strömlarm inaktiverat","es":"Alarma de suministro eléctrico desactivada","fr":"Alarme d\'alimentation électrique désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_power_true","highlight":true,"title":{"en":"The power alarm turned on","nl":"De stroomwaarschuwing is geactiveerd","da":"Strømalarmen slået til","it":"L\'allarme alimentazione si è acceso","ko":"전원이 감지되면","no":"Strømalarmen ble aktivert","pl":"Włączył się alarm zasilania","ru":"Сигнал питания включен","sv":"Strömlarmet aktiverat","es":"La alarma de suministro eléctrico está activada","fr":"L\'alarme d\'alimentation électrique s\'est activée"}},{"id":"alarm_power_false","title":{"en":"The power alarm turned off","nl":"De stroomwaarschuwing is gedeactiveerd","da":"Strømalarmen slået fra","it":"L\'allarme alimentazione si è spento","ko":"전원이 없으면","no":"Strømalarmen ble deaktivert","pl":"Wyłączył się alarm zasilania","ru":"Сигнал питания выключен","sv":"Strömlarmet inaktiverat","es":"La alarma de suministro eléctrico está desactivada","fr":"L\'alarme d\'alimentation électrique s\'est désactivée"}}],"conditions":[{"id":"alarm_power","title":{"en":"The power alarm is !{{on|off}}","nl":"De stroomwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Strømalarmen er !{{tændt|slukket}}","it":"L\'allarme alimentazione è !{{acceso|spento}}","ko":"전원이 !{{감지되면|없으면}}","no":"Strømalarmen er !{{på|av}}","pl":"Alarm zasilania jest !{{włączony|wyłączony}}","ru":"Сигнал питания !{{включен|выключен}}","sv":"Strömlarmet är !{{på|av}}","es":"La alarma de suministro eléctrico está !{{activada|desactivada}}","fr":"L\'alarme d\'alimentation électrique est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Presence alarm","nl":"Aanwezigheidswaarschuwing","da":"Tilstedeværelsesalarm","it":"Allarme di presenza","ko":"재실 감지","no":"Tilstedeværelsesalarm","pl":"Alarm obecności","ru":"Сигнал присутствия","sv":"Närvarolarm","es":"Alarma de presencia","fr":"Alarme de présence"},"desc":{"en":"True when presence has been detected.","nl":"Wordt geactiveerd wanneer aanwezigheid wordt gedetecteerd","da":"True, når der er registreret tilstedeværelse.","it":"Vero quando viene rilevata una presenza.","ko":"존재가 감지되면 참입니다.","no":"Sann når tilstedeværelse har blitt påvist.","pl":"Prawda, gdy wykryta została obecność.","ru":"Значение «истина» при обнаружении присутствия.","sv":"True när närvaro har detekterats.","es":"Activado cuando se detecta presencia.","fr":"Se déclenche lorsqu\'une présence a été détectée."},"insights":true,"insightsTitleTrue":{"en":"Presence Alarm turned on","nl":"Aanwezigheidswaarschuwing geactiveerd","da":"Tilstedeværelsesalarm slået til","it":"Allarme di presenza acceso","ko":"재실 감지됨","no":"Tilstedeværelsesalarm aktivert","pl":"Alarm obecności włączony","ru":"Сигнал присутствия включен","sv":"Närvarolarm aktiverat","es":"Alarma de presencia activada","fr":"Alarme de présence activée"},"insightsTitleFalse":{"en":"Presence Alarm turned off","nl":"Aanwezigheidswaarschuwing gedeactiveerd","da":"Tilstedeværelsesalarm slået fra","it":"Allarme di presenza spento","ko":"재실 감지되지 않음","no":"Tilstedeværelsesalarm deaktivert","pl":"Alarm obecności wyłączony","ru":"Сигнал присутствия выключен","sv":"Närvarolarm inaktiverat","es":"Alarma de presencia desactivada","fr":"Alarme de présence désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_presence_true","highlight":true,"title":{"en":"The presence alarm turned on","nl":"De aanwezigheidswaarschuwing is geactiveerd","da":"Tilstedeværelsesalarmen er slået til","it":"L\'allarme di presenza si è acceso","ko":"재실이면","no":"Tilstedeværelsesalarmen ble aktivert","pl":"Włączył się alarm obecności","ru":"Сигнал присутствия включен","sv":"Närvarolarmet aktiverat","es":"La alarma de presencia se ha activado","fr":"L\'alarme de présence s\'est activée"}},{"id":"alarm_presence_false","title":{"en":"The presence alarm turned off","nl":"De aanwezigheidswaarschuwing is gedeactiveerd","da":"Tilstedeværelsesalarm slået fra","it":"L\'allarme di presenza si è spento","ko":"부재이면","no":"Tilstedeværelsesalarmen ble deaktivert","pl":"Wyłączył się alarm obecności","ru":"Сигнал присутствия выключен","sv":"Närvarolarmet inaktiverat","es":"La alarma de presencia se ha desactivado","fr":"L\'alarme de présence s\'est désactivée"}}],"conditions":[{"id":"alarm_presence","title":{"en":"The presence alarm is !{{on|off}}","nl":"De aanwezigheidswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Tilstedeværelsesalarmen er !{{tændt|slukket}}","it":"L\'allarme di presenza è !{{acceso|spento}}","ko":"!{{재실|부재}}이면","no":"Tilstedeværelsesalarmen er !{{på|av}}","pl":"Alarm obecności jest !{{włączony|wyłączony}}","ru":"Сигнал присутствия !{{включен|выключен}}","sv":"Närvarolarmet är !{{på|av}}","es":"La alarma de presencia está !{{activada|desactivada}}","fr":"L\'alarme de présence est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Problem alarm","nl":"Probleemwaarschuwing","da":"Problemalarm","it":"Allarme problema","ko":"이상 감지","no":"Problemalarm","pl":"Alarm problemu","ru":"Сигнал о проблеме","sv":"Problemlarm","es":"Alarma de problema","fr":"Alarme de problème"},"desc":{"en":"True when a problem is detected.","nl":"Wordt geactiveerd wanneer een probleem wordt gedetecteerd.","da":"Sandt, når der opdages et problem.","it":"Vero quando viene rilevato un problema.","ko":"문제가 감지되면 참입니다.","no":"Sann når et problem registreres.","pl":"Prawda, gdy wykryty jest problem.","ru":"Значение «истина» при обнаружении проблемы.","sv":"Sant när ett problem upptäcks.","es":"Activado cuando se detecta un problema.","fr":"Se déclenche lorsqu\'un problème est détecté."},"insights":true,"insightsTitleTrue":{"en":"Problem was detected","nl":"Probleem was gedetecteerd","da":"Problem blev opdaget","it":"Problema rilevato","ko":"이상 감지됨","no":"Problem ble registrert","pl":"Problem był wykryty","ru":"Была обнаружена проблема","sv":"Ett problem har upptäckts","es":"Problema detectado","fr":"Un problème a été détecté"},"insightsTitleFalse":{"en":"Problem solved","nl":"Probleem opgelost","da":"Problem løst","it":"Problema risolto","ko":"정상","no":"Problem løst","pl":"Problem rozwiązany","ru":"Проблема решена","sv":"Problemet är löst","es":"Problema resuelto","fr":"Problème résolu"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_problem_true","highlight":true,"title":{"en":"A problem is detected","nl":"Er is een probleem gedetecteerd","da":"Et problem er opdaget","it":"È stato rilevato un problema","ko":"이상이 감지되면","no":"Et problem er registrert","pl":"Problem jest wykryty","ru":"Обнаружена проблема","sv":"Ett problem har upptäckts","es":"Se ha detectado un problema","fr":"Un problème est détecté"}},{"id":"alarm_problem_false","title":{"en":"The problem is solved","nl":"Het probleem is opgelost","da":"Problemet er løst","it":"Il problema è risolto","ko":"이상 감지가 정상 상태이면","no":"Problemet er løst","pl":"Problem jest rozwiązany","ru":"Проблема решена","sv":"Problemet är löst","es":"Se ha resuelto el problema","fr":"Le problème est résolu"}}],"conditions":[{"id":"alarm_problem","title":{"en":"There !{{is|isn\'t}} a problem","nl":"Er is !{{een|geen}} probleem","da":"Der !{{er|er ikke}} et problem","it":"!{{C\'è un|Non c\'è nessun}} problema","ko":"!{{이상이 감지되면|이상 감지가 정상 상태이면}}","no":"Det !{{er|er ikke}} et problem","pl":"!{{Problem jest|Problemu nie ma}}","ru":"!{{есть проблема|проблемы нет}}","sv":"Det !{{är|är inte}} ett problem","es":"!{{Hay un problema|No hay ningún problema}}","fr":"Il !{{y a un problème|n\'y a pas de problème}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Pump device fault alarm","nl":"Waarschuwing van fout bij pompapparaat","da":"Alarm for fejl i pumpeenhed","it":"Allarme guasto del dispositivo di pompaggio","ko":"펌프 기기 결함 감지","no":"Feilalarm for pumpeenhet","pl":"Alarm usterki pompy","ru":"Сигнал о неисправности насосного устройства","sv":"Larm om fel på pumpenhet","es":"Alarma de fallo en el dispositivo de bombeo","fr":"Alarme de défaut de l\'appareil de pompage"},"desc":{"en":"True when a fault is detected in the pump device.","nl":"Wordt geactiveerd wanneer een fout wordt gedetecteerd in het pompapparaat.","da":"Sandt, når der er registreret en fejl i pumpeenheden.","it":"Vero quando viene rilevato un guasto nel dispositivo di pompaggio.","ko":"펌프 디바이스에 고장이 감지되면 참입니다.","no":"Sann når en feil i pumpeenheten registreres.","pl":"Prawda, gdy wykryta jest usterka pompy.","ru":"Значение «истина» при обнаружении неисправности насосного устройства.","sv":"Sant när ett fel har upptäckts i pumpenheten.","es":"Activado cuando se detecta un fallo en el dispositivo de bombeo.","fr":"Se déclenche lorsqu\'un défaut est détecté dans l\'appareil de pompage."},"insights":true,"insightsTitleTrue":{"en":"Pump device fault alarm turned on","nl":"Waarschuwing van fout bij pompapparaat geactiveerd","da":"Fejlalarm for pumpeenhed slået til","it":"Allarme guasto del dispositivo di pompaggio acceso","ko":"펌프 기기 결함 감지됨","no":"Feilalarm for pumpeenhet aktivert","pl":"Alarm usterki pompy włączony","ru":"Сигнал о неисправности насосного устройства включен","sv":"Larm för fel på pumpenheten aktiverat","es":"Alarma de fallo en el dispositivo de bombeo activada","fr":"Alarme de défaut de l\'appareil de pompage activée"},"insightsTitleFalse":{"en":"Pump device fault alarm turned off","nl":"Waarschuwing van fout bij pompapparaat gedeactiveerd","da":"Fejlalarm for pumpeenhed slået fra","it":"Allarme guasto del dispositivo di pompaggio spento","ko":"정상","no":"Feilalarm for pumpeenhet ble deaktivert","pl":"Alarm usterki pompy wyłączony","ru":"Сигнал о неисправности насосного устройства выключен","sv":"Larmet för fel på pumpenheten inaktiverat","es":"Alarma de fallo en el dispositivo de bombeo desactivada","fr":"Alarme de défaut de l\'appareil de pompage désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pump_device_true","highlight":true,"title":{"en":"The pump device fault alarm turned on","nl":"De waarschuwing van fout bij pompapparaat is geactiveerd","da":"Pumpeenhedens fejlalarm er slået til","it":"L\'allarme di guasto del dispositivo di pompaggio si è acceso","ko":"펌프 기기에서 결함이 감지되면","no":"Pumpeenhetens feilalarm ble aktivert","pl":"Włączył się alarm usterki pompy","ru":"Сигнал о неисправности насосного устройства включен","sv":"Larmet för fel på pumpenheten aktiverat","es":"Se ha activado la alarma de fallo en el dispositivo de bombeo","fr":"L\'alarme de défaut de l\'appareil de pompage s\'est activée"}},{"id":"alarm_pump_device_false","title":{"en":"The pump device fault alarm turned off","nl":"De waarschuwing van fout bij pompapparaat is gedeactiveerd","da":"Pumpeenhedens fejlalarm slået fra","it":"L\'allarme di guasto del dispositivo di pompaggio si è spento","ko":"펌프 기기가 정상 상태이면","no":"Pumpeenhetens feilalarm ble deaktivert","pl":"Wyłączył się alarm usterki pompy","ru":"Сигнал о неисправности насосного устройства выключен","sv":"Larmet för fel på pumpenheten inaktiverat","es":"La alarma de fallo en el dispositivo de bombeo se ha desactivado","fr":"L\'alarme de défaut de l\'appareil de pompage s\'est désactivée"}}],"conditions":[{"id":"alarm_pump_device","title":{"en":"The pump device fault alarm is !{{on|off}}","nl":"De waarschuwing van fout bij pompapparaat is !{{geactiveerd|gedeactiveerd}}","da":"Pumpeenhedens fejlalarm er !{{tændt|slukket}}","it":"L\'allarme di guasto del dispositivo di pompaggio è !{{acceso|spento}}","ko":"펌프 기기!{{에서 결함이 감지되면|가 정상 상태이면}}","no":"Pumpeenhetens feilalarm er !{{på|av}}","pl":"Alarm usterki pompy jest !{{włączony|wyłączony}}","ru":"Сигнал о неисправности насосного устройства !{{включен|выключен}}","sv":"Larmet för fel på pumpenheten är !{{på|av}}","es":"La alarma de fallo en el dispositivo de bombeo está !{{activada|desactivada}}","fr":"L\'alarme de défaut de l\'appareil de pompage est !{{activé|désactivé}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Pump supply fault alarm","nl":"Waarschuwing van fout bij pomptoevoer","da":"Alarm for fejl i pumpeforsyningen","it":"Allarme guasto alimentazione pompa","ko":"펌프 공급 결함 감지","pl":"Alarm usterki zasilania pompy","ru":"Сигнал о неисправности в питании насоса","sv":"Larm om fel i pumptillförseln","es":"Alarma de fallo en el suministro eléctrico del bombeo","fr":"Alarme de défaut d\'alimentation de la pompe","no":"Feilalarm for pumpeforsyning"},"desc":{"en":"True when a fault is detected in the pump supply.","nl":"Wordt geactiveerd wanneer een fout wordt gedetecteerd in de pomptoevoer.","da":"Sandt, når der registreres en fejl i pumpeforsyningen.","it":"Vero quando viene rilevato un guasto nell\'alimentazione della pompa.","ko":"펌프 공급장치에 고장이 감지되면 참입니다.","pl":"Prawda, gdy wykryta jest usterka zasilania pompy.","ru":"Значение «истина» при обнаружении неисправности в питании насоса.","sv":"Sant när ett fel upptäcks i pumptillförseln.","es":"Activado cuando se detecta un fallo en el suministro eléctrico del bombeo.","fr":"Se déclenche lorsqu\'un défaut est détecté dans l\'alimentation de la pompe.","no":"Sann når en feil er påvist i pumpeforsyningen."},"insights":true,"insightsTitleTrue":{"en":"Problem was detected in the pump supply","nl":"Er was een probleem gedetecteerd in de pomptoevoer","da":"Der blev opdaget et problem i pumpeforsyningen","it":"È stato rilevato un problema nell\'alimentazione della pompa","ko":"펌프 공급 결함 감지됨","pl":"Problem z zasilaniem pompy był wykryty","ru":"Была обнаружена проблема с питанием насоса","sv":"Problem upptäcktes i pumptillförseln","es":"Se ha detectado un problema en el suministro eléctrico del bombeo","fr":"Un problème a été détecté dans l\'alimentation de la pompe","no":"Et problem i pumpeforsyningen ble påvist"},"insightsTitleFalse":{"en":"Problem in the pump supply was solved","nl":"Het probleem in de pomptoevoer werd opgelost","da":"Problem med pumpeforsyningen blev løst","it":"Il problema di alimentazione della pompa è stato risolto","ko":"정상","pl":"Problem z zasilaniem pompy był rozwiązany","ru":"Проблема с питанием насоса была решена","sv":"Problem med pumptillförseln löstes","es":"Se ha resuelto el problema en el suministro eléctrico del bombeo","fr":"Le problème d\'alimentation de la pompe a été résolu","no":"Problemet i pumpeforsyningen ble løst"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_pump_supply_true","highlight":true,"title":{"en":"A problem is detected in the pump supply","nl":"Er is een probleem gedetecteerd in de pomptoevoer","da":"Der er opdaget et problem i pumpeforsyningen","it":"È stato rilevato un problema nell\'alimentazione della pompa","ko":"펌프 공급에서 결함이 감지되면","pl":"Problem z zasilaniem pompy jest wykryty","ru":"Обнаружена проблема с питанием насоса","sv":"Ett problem har upptäckts i pumptillförseln","es":"Se ha detectado un problema en el suministro eléctrico del bombeo","fr":"Un problème est détecté dans l\'alimentation de la pompe","no":"Et problem i pumpeforsyningen er påvist"}},{"id":"alarm_pump_supply_false","title":{"en":"The problem in the pump supply is solved","nl":"Het probleem in de pomptoevoer is opgelost","da":"Problemet med pumpeforsyningen er løst","it":"Il problema dell\'alimentazione della pompa è risolto","ko":"펌프 공급이 정상 상태이면","pl":"Problem z zasilaniem pompy jest rozwiązany","ru":"Проблема с питанием насоса решена","sv":"Problemet med pumptillförseln är löst","es":"Se ha resuelto el problema en el suministro eléctrico del bombeo","fr":"Le problème de l\'alimentation de la pompe est résolu","no":"Problemet i pumpeforsyningen er løst"}}],"conditions":[{"id":"alarm_pump_supply","title":{"en":"There !{{is|isn\'t}} a problem in the pump supply","nl":"Er is !{{een|geen}} probleem in de pomptoevoer","da":"Der !{{er|er ikke}} et problem i pumpeforsyningen","it":"!{{C\'è un|Non c\'è nessun}} problema nell\'alimentazione della pompa","ko":"펌프 공급!{{에서 결함이 감지되면|이 정상 상태이면}}","pl":"!{{Występuje|Nie występuje}} problem z zasilaniem pompy","ru":"!{{Есть проблема|нет проблемы}} с питанием насоса","sv":"Det !{{är|är inte}} ett problem i pumpförsörjningen","es":"!{{Hay un problema|No hay ningún problema}} en el suministro eléctrico del bombeo","fr":"Il !{{y a un problème|n\'y a pas de problème}} concernant l\'alimentation de la pompe","no":"Det !{{er|er ikke}} et problem i pumpeforsyningen"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Running alarm","nl":"Werkzaamheidswaarschuwing","da":"Løbende alarm","it":"Allarme elaborazione in corso","ko":"작동 감지","no":"Kjøringsalarm","pl":"Alarm pracy urządzenia","ru":"Сигнал о процессе","sv":"Körlarm","es":"Alarma de funcionamiento","fr":"Alarme de fonctionnement"},"desc":{"en":"True when the device is busy (e.g., printer is printing).","nl":"Wordt geactiveerd wanneer het apparaat bezig is (bijv. printer is aan het printen).","da":"Sandt, når enheden er optaget (f.eks. printeren er i gang med at udskrive).","it":"Vero quando il dispositivo è occupato (ad esempio, la stampante sta stampando).","ko":"디바이스가 바쁜 상태(예: 프린터가 인쇄 중)면 참입니다.","pl":"Prawda, gdy urządzenie jest zajęte (np. drukarka drukuje).","ru":"Значение «истина», когда устройство занято (например, принтер печатает документ).","sv":"Sant när enheten är upptagen (t.ex. skrivaren skriver ut).","es":"Activado cuando el dispositivo está en funcionamiento (por ejemplo, la impresora está imprimiendo).","fr":"Se déclenche lorsque l\'appareil est utilisé (par exemple, l\'imprimante est en train d\'imprimer).","no":"Sann når enheten er i bruk (f.eks. en skriver som skriver ut noe)."},"insights":true,"insightsTitleTrue":{"en":"Running alarm turned on","nl":"Werkzaamheidswaarschuwing geactiveerd","da":"Løbende alarm slået til","it":"Allarme elaborazione in corso acceso","ko":"작동 감지됨","pl":"Alarm pracy urządzenia włączony","ru":"Сигнал о процессе включен","sv":"Körlarm aktiverat","es":"Alarma de funcionamiento activada","fr":"Alarme de fonctionnement activée","no":"Kjøringsalarm aktivert"},"insightsTitleFalse":{"en":"Running alarm turned off","nl":"Werkzaamheidswaarschuwing gedeactiveerd","da":"Løbende alarm slået fra","it":"Allarme elaborazione in corso spento","ko":"작동 안 함","pl":"Alarm pracy urządzenia wyłączony","ru":"Сигнал о процессе выключен","sv":"Körlarm inaktiverat","es":"Alarma de funcionamiento desactivada","fr":"Alarme de fonctionnement désactivée","no":"Kjøringsalarm deaktivert"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_running_true","highlight":true,"title":{"en":"The running alarm turned on","nl":"De werkzaamheidswaarschuwing is geactiveerd","da":"Den løbende alarm er slået til","it":"L\'allarme di elaborazione in corso si è acceso","ko":"작동 중이면","pl":"Włączył się alarm pracy urządzenia","ru":"Сигнал о процессе включен","sv":"Körlarmet aktiverat","es":"La alarma de funcionamiento se ha activado","fr":"L\'alarme de fonctionnement s\'est activée","no":"Kjøringsalarmen ble aktivert"}},{"id":"alarm_running_false","title":{"en":"The running alarm turned off","nl":"De werkzaamheidswaarschuwing is gedeactiveerd","da":"Den løbende alarm er slået fra","it":"L\'allarme di elaborazione in corso si è spento","ko":"작동하지 않으면","pl":"Alarm pracy urządzenia wyłączony","ru":"Сигнал о процессе выключен","sv":"Körlarmet inaktiverat","es":"La alarma de funcionamiento se ha desactivado","fr":"L\'alarme de fonctionnement s\'est désactivée","no":"Kjøringsalarmen ble deaktivert"}}],"conditions":[{"id":"alarm_running","title":{"en":"Is !{{busy|not busy}}","nl":"Is !{{bezig|niet bezig}}","da":"Er !{{optaget|ikke optaget}}","it":"È !{{occupato|non occupato}}","ko":"!{{작동 중이면|작동하지 않으면}}","pl":"!{{Jest zajęte|Nie jest zajęte}}","ru":"Устройство !{{занято|не занято}}","sv":"Är !{{upptaget|inte upptaget}}","es":"!{{Está en funcionamiento|No está en funcionamiento}}","fr":"Est !{{connectée|déconnectée}}","no":"Er !{{i bruk|ikke i bruk}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Safety alarm","nl":"Veiligheidswaarschuwing","da":"Sikkerhedsalarm","it":"Allarme sicurezza","ko":"위험 감지","no":"Trygghetsalarm","pl":"Alarm bezpieczeństwa","ru":"Сигнал тревоги","sv":"Säkerhetslarm","es":"Alarma de seguridad","fr":"Alarme de sécurité"},"desc":{"en":"True when unsafe.","nl":"Wordt geactiveerd wanneer het onveilig is.","da":"Sandt, når usikker.","it":"Vero quando non sicuro.","ko":"안전하지 않으면 참입니다.","no":"Sann ved utrygge forhold.","pl":"Prawda, gdy nie jest bezpieczne.","ru":"Значение «истина» при возникновении опасности.","sv":"Sant när det är osäkert.","es":"Activado cuando no es seguro.","fr":"Se déclenche en cas d\'insécurité."},"insights":true,"insightsTitleTrue":{"en":"Safety alarm turned on","nl":"Veiligheidswaarschuwing geactiveerd","da":"Sikkerhedsalarm slået til","it":"Allarme sicurezza acceso","ko":"위험","no":"Trygghetsalarm aktivert","pl":"Alarm bezpieczeństwa włączony","ru":"Сигнал тревоги включен","sv":"Säkerhetslarm aktiverat","es":"Alarma de seguridad activada","fr":"Alarme de sécurité activée"},"insightsTitleFalse":{"en":"Safety alarm turned off","nl":"Veiligheidswaarschuwing gedeactiveerd","da":"Sikkerhedsalarm slået fra","it":"Allarme sicurezza spento","ko":"안전","no":"Trygghetsalarm deaktivert","pl":"Alarm bezpieczeństwa wyłączony","ru":"Сигнал тревоги выключен","sv":"Säkerhetslarm inaktiverat","es":"Alarma de seguridad desactivada","fr":"Alarme de sécurité désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_safety_true","highlight":true,"title":{"en":"The safety alarm turned on","nl":"De veiligheidswaarschuwing is geactiveerd","da":"Sikkerhedsalarmen er slået til","it":"L\'allarme sicurezza si è acceso","ko":"위험이면","no":"Trygghetsalarmen ble aktivert","pl":"Włączył się alarm bezpieczeństwa","ru":"Сигнал тревоги включен","sv":"Säkerhetslarmet aktiverat","es":"La alarma de seguridad se ha activado","fr":"L\'alarme de sécurité s\'est activée"}},{"id":"alarm_safety_false","title":{"en":"The safety alarm turned off","nl":"De veiligheidswaarschuwing is gedeactiveerd","da":"Sikkerhedsalarmen er slået fra","it":"L\'allarme sicurezza si è spento","ko":"안전이면","no":"Trygghetsalarmen ble deaktivert","pl":"Wyłączył się alarm bezpieczeństwa","ru":"Сигнал тревоги выключен","sv":"Säkerhetslarmet inaktiverat","es":"La alarma de seguridad se ha apagado","fr":"L\'alarme de sécurité s\'est désactivée"}}],"conditions":[{"id":"alarm_safety","title":{"en":"The safety alarm is !{{on|off}}","nl":"De veiligheidswaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Sikkerhedsalarmen er !{{tændt|slukket}}","it":"L\'allarme sicurezza è !{{acceso|spento}}","ko":"!{{위험|안전}}이면","no":"Trygghetsalarmen er !{{på|av}}","pl":"Alarm bezpieczeństwa jest !{{włączony|wyłączony}}","ru":"Сигнал тревоги !{{включен|выключен}}","sv":"Säkerhetslarmet är !{{på|av}}","es":"La alarma de seguridad está !{{activada|desactivada}}","fr":"L\'alarme de sécurité est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Smoke alarm","nl":"Rookmelder","de":"Rauch-Alarm","fr":"Alarme fumée","it":"Allarme fumo","sv":"Röklarm","no":"Røykalarm","es":"Alarma de humo","da":"Røgalarm","ru":"Сигнал дыма","pl":"Alarm przeciwdymny","ko":"연기 감지"},"desc":{"en":"True when smoke has been detected","nl":"Gaat af als er rook gedetecteerd wordt","de":"True, wenn Rauch erkannt wurde","fr":"Vrai quand de la fumée a été détectée","it":"Vero quando è stato rilevato del fumo","sv":"Sant när rök upptäcks","no":"Sann når røyk har blitt påvist","es":"Activado cuando se detecta humo","da":"Sandt, når røg er blevet opdaget","ru":"Значение «истина» при обнаружении дыма","pl":"Adekwatny, kiedy wykryty zostanie dym","ko":"연기가 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Smoke alarm turned on","nl":"Rookmelder ging af","de":"Rauch-Alarm ist angegangen","fr":"Alarme fumée s\'est activée","it":"Allarme fumo attivato","sv":"Röklarm aktiverat","no":"Røykalarm aktivert","es":"Alarma de humo activada","da":"Røgalarm blev aktiveret","ru":"Сигнал дыма включен","pl":"Alarm przeciwdymny włączony","ko":"연기 감지됨"},"insightsTitleFalse":{"en":"Smoke alarm turned off","nl":"Rookmelder ging uit","de":"Rauch-Alarm ist ausgegangen","fr":"Alarme fumée s\'est désactivée","it":"Allarme fumo disattivato","sv":"Röklarm inaktiverat","no":"Røykalarm deaktivert","es":"Alarma de humo desactivada","da":"Røgalarm blev deaktiveret","ru":"Сигнал дыма выключен","pl":"Alarm przeciwdymny wyłączony","ko":"정상"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_smoke_true","highlight":true,"title":{"en":"The smoke alarm turned on","nl":"De rookmelder gaat aan","de":"Der Rauch-Alarm ist angegangen","fr":"L\'alarme fumée s\'est activée","it":"L\'allarme fumo è stato attivato","sv":"Röklarmet aktiverat","no":"Røykalarmen ble aktivert","es":"La alarma de humo se ha activado","da":"Røgalarmen blev aktiveret","ru":"Сигнал дыма включен","pl":"Alarm przeciwdymny włączony","ko":"연기가 감지되면"}},{"id":"alarm_smoke_false","title":{"en":"The smoke alarm turned off","nl":"De rookmelder gaat uit","de":"Der Rauch-Alarm ist ausgegangen","fr":"L\'alarme fumée s\'est désactivée","it":"L\'allarme fumo è stato disattivato","sv":"Röklarmet inaktiverat","no":"Røykalarmen ble deaktivert","es":"La alarma de humo se ha desactivado","da":"Røgalarmen blev deaktiveret","ru":"Сигнал дыма выключен","pl":"Alarm przeciwdymny wyłączony","ko":"연기 감지가 정상 상태이면"}}],"conditions":[{"id":"alarm_smoke","title":{"en":"The smoke alarm is !{{on|off}}","nl":"De rookmelder is !{{aan|uit}}","de":"Der Rauch-Alarm ist !{{an|aus}}","fr":"L\'alarme fumée est !{{en marche|arrêtée}}","it":"L\'allarme fumo è !{{acceso|spento}}","sv":"Röklarmet är !{{på|av}}","no":"Røykalarmen er !{{på|av}}","es":"La alarma de humo está !{{activada|desactivada}}","da":"Røgalarmen er !{{tændt|slukket}}","ru":"Сигнал дыма !{{вкл.|выкл.}}","pl":"Alarm przeciwdymny jest !{{włączony|wyłączony}}","ko":"!{{연기가 감지되면|연기 감지가 정상 상태이면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Stuck alarm","nl":"Waarschuwing bij vastzitten","da":"Fastlåst alarm","it":"Allarme dispositivo bloccato","ko":"기기 막힘 감지","no":"Fastkjøringsalarm","pl":"Alarm zablokowania","ru":"Сигнал о заклинивании","sv":"Larm om fastnat","es":"Alarma de atasco","fr":"Alarme d\'appareil bloqué"},"desc":{"en":"True when the device is stuck.","nl":"Wordt geactiveerd wanneer het apparaat vastzit","da":"Sandt, når enheden sidder fast.","it":"Vero quando il dispositivo è bloccato.","ko":"디바이스가 막히면 참입니다.","no":"Sann når enheten sitter fast.","pl":"Prawda, gdy urządzenie jest zablokowane.","ru":"Значение «истина», когда устройство заклинило.","sv":"Sant när enheten har fastnat.","es":"Activado cuando el dispositivo está atascado.","fr":"Se déclenche lorsque l\'appareil est bloqué."},"insights":true,"insightsTitleTrue":{"en":"Was stuck","nl":"Zat vast","da":"Sad fast","it":"Era bloccato","ko":"기기 막힘 감지됨","no":"Satt fast","pl":"Było zablokowane","ru":"Заклинило","sv":"Var fast","es":"Estaba atascado","fr":"Était bloqué"},"insightsTitleFalse":{"en":"Was no longer stuck","nl":"Zat niet meer vast","da":"Sad ikke længere fast","it":"Non era più bloccato","ko":"정상","no":"Satt ikke lenger fast","pl":"Nie było już zablokowane","ru":"Больше не заклинено","sv":"Var inte längre fast","es":"Ya no estaba atascado","fr":"N\'était plus bloqué"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_stuck_true","highlight":true,"title":{"en":"Is stuck","nl":"Zit vast","da":"Sidder fast","it":"È bloccato","ko":"기기 막힘이 감지되면","no":"Sitter fast","pl":"Jest zablokowane","ru":"Заклинено","sv":"Är fast","es":"Está atascado","fr":"Est bloqué"}},{"id":"alarm_stuck_false","title":{"en":"Is no longer stuck","nl":"Zit niet meer vast","da":"Sidder ikke længere fast","it":"Non è più bloccato","ko":"기기 막힘 감지가 정상 상태이면","no":"Sitter ikke lenger fast","pl":"Nie jest już zablokowane","ru":"Больше не заклинено","sv":"Är inte längre fast","es":"Ya no está atascado","fr":"N\'est plus bloqué"}}],"conditions":[{"id":"alarm_stuck","title":{"en":"Is !{{stuck|not stuck}}","nl":"Zit !{{vast|niet vast}}","da":"Er !{{fastlåst|ikke fastlåst}}","it":"È !{{bloccato|sbloccato}}","ko":"!{{기기 막힘이 감지되면|기기 막힘 감지가 정상 상태이면}}","no":"Sitter !{{fast|ikke fast}}","pl":"Jest ! {{zablokowane|niezablokowane}}","ru":"Устройство !{{заклинено|не заклинено}}","sv":"Är !{{fast|inte fast}}","es":"!{{Está atascado|No está atascado}}","fr":"Est !{{connectée|déconnectée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tamper alarm","nl":"Sabotagealarm","de":"Sabotage-Alarm","fr":"Alarme sabotage","it":"Allarme manomissione","sv":"Sabotagelarm","no":"Sabotasjealarm","es":"Alarma de manipulación","da":"Sabotagealarm","ru":"Противовзломный сигнал","pl":"Alarm antyingerencyjny","ko":"변화 감지"},"desc":{"en":"True when tampering has been detected","nl":"Gaat af als sabotage gedetecteerd wordt","de":"True, wenn Sabotage erkannt wurde","fr":"Vrai si l\'alarme sabotage a été détectée","it":"Vero quando è stata rilevata una manomissione","sv":"Sant när sabotage upptäckts","no":"Sann når sabotasje har blitt påvist","es":"Activado cuando se detecta manipulación","da":"Sandt, når sabotage er blevet opdaget","ru":"Значение «истина» при обнаружении попытки взлома","pl":"Adekwatny, kiedy wykryta zostanie ingerencja","ko":"변조가 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Tamper alarm turned on","nl":"Sabotagealarm ging af","de":"Sabotage-Alarm ist angegangen","fr":"Alarme sabotage s\'est activée","it":"Allarme manomissione attivato","sv":"Sabotagelarm aktiverat","no":"Sabotasjealarm aktivert","es":"Alarma de manipulación activada","da":"Sabotagealarm blev aktiveret","ru":"Противовзломный сигнал включен","pl":"Alarm antyingerencyjny włączony","ko":"변화 감지됨"},"insightsTitleFalse":{"en":"Tamper alarm turned off","nl":"Sabotagealarm ging uit","de":"Sabotage-Alarm ist ausgegangen","fr":"Alarme sabotage s\'est désactivée","it":"Allarme manomissione disattivato","sv":"Sabotagelarm inaktiverat","no":"Sabotasjealarm deaktivert","es":"Alarma de manipulación desactivada","da":"Sabotagealarm blev deaktiveret","ru":"Противовзломный сигнал выключен","pl":"Alarm antyingerencyjny wyłączony","ko":"정상"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tamper_true","highlight":true,"title":{"en":"The tamper alarm turned on","nl":"Het sabotagealarm gaat aan","de":"Der Sabotage-Alarm ist angegangen","fr":"L\'alarme sabotage s\'est activée","it":"L\'allarme manomissione è stato attivato","sv":"Sabotagelarmet aktiverat","no":"Sabotasjealarmen ble aktivert","es":"La alarma de manipulación se ha activado","da":"Sabotagealarmen blev aktiveret","ru":"Противовзломный сигнал включен","pl":"Alarm antyingerencyjny włączony","ko":"변화가 감지되면"}},{"id":"alarm_tamper_false","title":{"en":"The tamper alarm turned off","nl":"Het sabotagealarm gaat uit","de":"Der Sabotage-Alarm ist ausgegangen","fr":"L\'alarme sabotage s\'est désactivée","it":"L\'allarme manomissione è stato disattivato","sv":"Sabotagelarmet inaktiverat","no":"Sabotasjealarmenen ble deaktivert","es":"La alarma de manipulación se ha desactivado","da":"Sabotagealarmen blev deaktiveret","ru":"Противовзломный сигнал выключен","pl":"Alarm antyingerencyjny wyłączony","ko":"변화 감지가 정상 상태이면"}}],"conditions":[{"id":"alarm_tamper","title":{"en":"The tamper alarm is !{{on|off}}","nl":"Het sabotagealarm is !{{aan|uit}}","de":"Der Sabotage-Alarm ist !{{an|aus}}","fr":"L\'alarme sabotage est !{{en marche|arrêtée}}","it":"L\'allarme manomissione è !{{acceso|spento}}","sv":"Sabotagelarmet är !{{på|av}}","no":"Sabotasjealarmen er !{{på|av}}","es":"La alarma de manipulación está !{{activada|desactivada}}","da":"Sabotagealarmen er !{{tændt|slukket}}","ru":"Противовзломный сигнал !{{вкл.|выкл.}}","pl":"Alarm antyingerencyjny jest !{{włączony|wyłączony}}","ko":"!{{변화가 감지되면|변화 감지가 정상 상태이면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tank empty alarm","nl":"Waarschuwing voor lege tank","da":"Alarm for tom tank","it":"Allarme serbatoio vuoto","ko":"물통 물 부족 감지","no":"Alarm om tom tank","pl":"Alarm pustego zbiornika","ru":"Сигнал об опорожнении резервуара","sv":"Larm om tom tank","es":"Alarma de depósito vacío","fr":"Alarme de réservoir vide"},"desc":{"en":"True when the tank is empty.","nl":"Wordt geactiveerd wanneer de tank leeg is.","da":"Sandt, når tanken er tom.","it":"Vero quando il serbatoio è vuoto.","ko":"탱크가 비어 있으면 참입니다.","no":"Sann når tanken er tom.","pl":"Prawda, gdy zbiornik jest pusty.","ru":"Значение «истина», когда резервуар пустой.","sv":"Sant när tanken är tom.","es":"Activado cuando el depósito está vacío.","fr":"Se déclenche lorsque le réservoir est vide."},"insights":true,"insightsTitleTrue":{"en":"Tank was empty","nl":"Tank was leeg","da":"Tanken var tom","it":"Il serbatoio era vuoto","ko":"물 보충 필요","no":"Tanken var tom","pl":"Zbiornik był pusty","ru":"Резервуар был пуст","sv":"Tanken var tom","es":"El depósito estaba vacío","fr":"Le réservoir était vide"},"insightsTitleFalse":{"en":"Tank was not empty","nl":"Tank was niet leeg","da":"Tanken var ikke tom","it":"Il serbatoio non era vuoto","ko":"물 보충됨","no":"Tanken var ikke tom","pl":"Zbiornik nie był pusty","ru":"Резервуар не был пуст","sv":"Tanken var inte tom","es":"El depósito no estaba vacío","fr":"Le réservoir n\'était pas vide"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tank_empty_true","highlight":true,"title":{"en":"The tank is empty","nl":"De tank is leeg","da":"Tanken er tom","it":"Il serbatoio è vuoto","ko":"물 보충이 필요하면","no":"Tanken er tom","pl":"Zbiornik jest pusty","ru":"Резервуар пуст","sv":"Tanken är tom","es":"El depósito está vacío","fr":"Le réservoir est vide"}},{"id":"alarm_tank_empty_false","title":{"en":"The tank is no longer empty","nl":"De tank is niet meer leeg","da":"Tanken er ikke længere tom","it":"Il serbatoio non è più vuoto","ko":"물이 보충되어 있으면","no":"Tanken er ikke lenger tom","pl":"Zbiornik nie jest już pusty","ru":"Резервуар больше не пуст","sv":"Tanken är inte längre tom","es":"El depósito ya no está vacío","fr":"Le réservoir n\'est plus vide"}}],"conditions":[{"id":"alarm_tank_empty","title":{"en":"The tank is !{{empty|not empty}}","nl":"De tank is !{{leeg|niet leeg}}","da":"Tanken er!{{tom ikke tom}}","it":"Il serbatoio !{{è vuoto|non è vuoto}}","ko":"!{{물 보충이 필요하면|물이 보충되어 있으면}}","no":"Tanken er !{{tom|ikke tom}}","pl":"Zbiornik !{{jest pusty|nie jest pusty}}","ru":"Резервуар !{{пуст|не пуст}}","sv":"Tanken är !{{tom|inte tom}}","es":"El depósito !{{está vacío|no está vacío}}","fr":"Le réservoir !{{est rempli|n\'est pas rempli}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tank missing alarm","nl":"Waarschuwing voor ontbrekende tank","da":"Alarm for manglende tank","it":"Allarme mancanza serbatoio","ko":"물통 분리 감지","no":"Alarm om manglende tank","pl":"Alarm braku zbiornika","ru":"Сигнал об отсутствии резервуара","sv":"Larm för saknad tank","es":"Alarma de depósito no presente","fr":"Alarme de réservoir manquant"},"desc":{"en":"True when the tank is missing.","nl":"Wordt geactiveerd wanneer de tank ontbreekt.","da":"Det er sandt, når tanken mangler.","it":"Vero quando manca il serbatoio.","ko":"탱크가 누락되면 참입니다.","no":"Sann når tanken mangler.","pl":"Prawda, gdy brakuje zbiornika.","ru":"Значение «истина», когда резервуар отсутствует.","sv":"Sant när tanken saknas.","es":"Activado cuando el depósito no está presente.","fr":"Se déclenche lorsque le réservoir est manquant."},"insights":true,"insightsTitleTrue":{"en":"Tank was missing","nl":"Tank ontbrak","da":"Tanken manglede","it":"Mancava il serbatoio","ko":"물통 없음","no":"Tanken manglet","pl":"Brakowało zbiornika","ru":"Резервуар отсутствовал","sv":"Tank saknades","es":"El depósito no estaba presente","fr":"Le réservoir était manquant"},"insightsTitleFalse":{"en":"Tank was not missing","nl":"Tank was geplaatst","da":"Tanken manglede ikke","it":"Il serbatoio non mancava","ko":"물통 장착됨","no":"Tanken manglet ikke","pl":"Nie brakowało zbiornika","ru":"Резервуар не отсутствовал","sv":"Tanken saknades inte","es":"El depósito estaba colocado","fr":"Le réservoir n\'était pas manquant"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tank_missing_true","highlight":true,"title":{"en":"The tank is missing","nl":"De tank ontbreekt","da":"Tanken mangler","it":"Manca il serbatoio","ko":"물통이 없으면","no":"Tanken mangler","pl":"Brakuje zbiornika","ru":"Резервуар отсутствует","sv":"Tanken saknas","es":"El depósito no está presente","fr":"Le réservoir est manquant"}},{"id":"alarm_tank_missing_false","title":{"en":"The tank is placed","nl":"De tank is geplaatst","da":"Tanken er placeret","it":"Il serbatoio è presente","ko":"물통이 장착되어 있으면","no":"Tanken er på plass","pl":"Zbiornik jest umieszczony","ru":"Резервуар размещен","sv":"Tanken är på plats","es":"El depósito está colocado","fr":"Le réservoir est placé"}}],"conditions":[{"id":"alarm_tank_missing","title":{"en":"Tank !{{is|is not}} missing","nl":"De tank !{{ontbreekt|is geplaatst}}","da":"Tanken !{{er|er ikke}} manglende","it":"Il serbatoio è !{{assente|presente}}","ko":"물통이 !{{없으면|장착되어 있으면}}","no":"Tanken !{{er|er ikke}} borte","pl":"Zbiornik jest !{{brakujący|obecny}}","ru":"Резервуар ! {{отсутствует|в наличии}}","sv":"Tanken !{{saknas|är på plats}}","es":"El depósito !{{está|no está}} presente","fr":"Le réservoir est !{{manquant|présent}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Tank open alarm","nl":"Waarschuwing voor open tank","da":"Alarm for åben tank","it":"Allarme serbatoio aperto","ko":"물통 열림 감지","no":"Alarm om åpen tank","pl":"Alarm otwartego zbiornika","ru":"Сигнал об открытии резервуара","sv":"Larm om öppen tank","es":"Alarma de depósito abierto","fr":"Alarme de réservoir ouvert"},"desc":{"en":"True when the tank is open.","nl":"Wordt geactiveerd wanneer de tank open is.","da":"Sandt, når tanken er åben.","it":"Vero quando il serbatoio è aperto.","ko":"탱크가 열려 있으면 참입니다.","no":"Sann når tanken er åpen.","pl":"Prawda, gdy zbiornik jest otwarty.","ru":"Значение «истина», когда резервуар открыт.","sv":"Sant när tanken är öppen.","es":"Activado cuando el depósito está abierto.","fr":"Se déclenche lorsque le réservoir est ouvert."},"insights":true,"insightsTitleTrue":{"en":"Tank was open","nl":"Tank was open","da":"Tanken var åben","it":"Il serbatoio era aperto","ko":"물통 열림","no":"Tanken var åpen","pl":"Zbiornik był otwarty","ru":"Резервуар был открыт","sv":"Tanken var öppen","es":"El depósito estaba abierto","fr":"Le réservoir était ouvert"},"insightsTitleFalse":{"en":"Tank was closed","nl":"Tank was dicht","da":"Tanken var lukket","it":"Il serbatoio è stato chiuso","ko":"물통 닫힘","no":"Tanken var lukket","pl":"Zbiornik był zamknięty","ru":"Резервуар был закрыт","sv":"Tanken var stängd","es":"El depósito estaba cerrado","fr":"Le réservoir était fermé"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_tank_open_true","highlight":true,"title":{"en":"The tank opens","nl":"De tank gaat open","da":"Tanken åbner","it":"Il serbatoio si apre","ko":"물통이 열려있으면","no":"Tanken åpnes","pl":"Zbiornik otwiera się","ru":"Резервуар открывается","sv":"Tanken öppnas","es":"El depósito está abierto","fr":"Le réservoir s\'ouvre"}},{"id":"alarm_tank_open_false","title":{"en":"The tank closes","nl":"De tank gaat dicht","da":"Tanken lukker","it":"Il serbatoio si chiude","ko":"물통이 닫혀있으면","no":"Tanken lukkes","pl":"Zbiornik zamyka się","ru":"Резервуар закрывается","sv":"Tanken stängs","es":"El depósito está cerrado","fr":"Le réservoir se ferme"}}],"conditions":[{"id":"alarm_tank_open","title":{"en":"The tank is !{{open|closed}}","nl":"De tank is !{{open|dicht}}","da":"Tanken er !{{åben|lukket}}","it":"Il serbatoio è !{{aperto|chiuso}}","ko":"물통이 !{{열려|닫혀}}있으면","no":"Tanken er !{{åpen|lukket}}","pl":"Zbiornik jest !{{otwarty|zamknięty}}","ru":"Резервуар !{{открыт|закрыт}}","sv":"Tanken är !{{öppen|stängd}}","es":"El depósito está !{{abierto|cerrado}}","fr":"Le réservoir est !{{ouvert|fermé}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Vibration alarm","nl":"Trilwaarschuwing","da":"Vibrationsalarm","it":"Allarme vibrazione","ko":"진동 감지","no":"Vibrasjonsalarm","pl":"Alarm wibracji","ru":"Сигнал о вибрации","sv":"Vibrationslarm","es":"Alarma de vibración","fr":"Alarme de vibration"},"desc":{"en":"True when vibration is detected.","nl":"Wordt geactiveerd wanneer trilling wordt gedetecteerd.","da":"Sandt, når der registreres vibration.","it":"Vero quando viene rilevata una vibrazione.","ko":"진동이 감지되면 참입니다.","no":"Sann når vibrasjon registreres.","pl":"Prawda, gdy wykryta jest wibracja.","ru":"Значение «истина» при обнаружении вибрации.","sv":"Sant när vibrationer detekteras.","es":"Activado cuando se detecta vibración.","fr":"Se déclenche lorsque des vibrations sont détectées."},"insights":true,"insightsTitleTrue":{"en":"Vibration alarm turned on","nl":"Trilwaarschuwing geactiveerd","da":"Vibrationsalarm slået til","it":"Allarme vibrazione acceso","ko":"진동 감지됨","no":"Vibrasjonsalarm aktivert","pl":"Alarm wibracji włączony","ru":"Сигнал о вибрации включен","sv":"Vibrationslarmet aktiverat","es":"Alarma de vibración activada","fr":"Alarme de vibration activée"},"insightsTitleFalse":{"en":"Vibration alarm turned off","nl":"Trilwaarschuwing gedeactiveerd","da":"Vibrationsalarm slået fra","it":"Allarme vibrazione spento","ko":"진동 감지되지 않음","no":"Vibrasjonsalarm deaktivert","pl":"Alarm wibracji wyłączony","ru":"Сигнал о вибрации выключен","sv":"Vibrationslarmet inaktiverat","es":"Alarma de vibración desactivada","fr":"Alarme de vibration désactivée"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_vibration_true","highlight":true,"title":{"en":"The vibration alarm turned on","nl":"De trilwaarschuwing is geactiveerd","da":"Vibrationsalarmen slået til","it":"L\'allarme vibrazione si è acceso","ko":"진동이 감지되면","no":"Vibrasjonsalarmen ble aktivert","pl":"Włączył się alarm wibracji","ru":"Сигнал о вибрации включен","sv":"Vibrationslarmet aktiverat","es":"La alarma de vibración se ha activado","fr":"L\'alarme de vibration s\'est activée"}},{"id":"alarm_vibration_false","title":{"en":"The vibration alarm turned off","nl":"De trilwaarschuwing is gedeactiveerd","da":"Vibrationsalarmen slået fra","it":"L\'allarme vibrazione si è spento","ko":"진동이 감지되지 않으면","no":"Vibrasjonsalarmen ble deaktivert","pl":"Wyłączył się alarm wibracji","ru":"Сигнал о вибрации выключен","sv":"Vibrationslarmet inaktiverat","es":"La alarma de vibración se ha desactivado","fr":"L\'alarme de vibration s\'est désactivée"}}],"conditions":[{"id":"alarm_vibration","title":{"en":"The vibration alarm is !{{on|off}}","nl":"De trilwaarschuwing is !{{geactiveerd|gedeactiveerd}}","da":"Vibrationsalarmen er !{{tændt|slukket}}","it":"L\'allarme vibrazione è !{{acceso|spento}}","ko":"진동이 감지!{{되면|되지 않으면}}","no":"Vibrasjonsalarmen er !{{på|av}}","pl":"Alarm wibracji jest !{{włączony|wyłączony}}","ru":"Сигнал о вибрации !{{включен|выключен}}","sv":"Vibrationslarmet är !{{av|på}}","es":"La alarma de vibración está !{{activada|desactivada}}","fr":"L\'alarme de vibration est !{{activée|désactivée}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Water alarm","nl":"Wateralarm","de":"Wasser-Alarm","fr":"Alarme eau","it":"Allarme acqua","sv":"Vattenalarm","no":"Vannalarm","es":"Alarma de agua","da":"Vandalarm","ru":"Сигнал протечки воды","pl":"Alarm zalania wodą","ko":"누수 감지"},"desc":{"en":"True when water has been detected","nl":"Gaat af als er water gedetecteerd wordt","de":"True, wenn Wasser erkannt wurde","fr":"Vrai si de l\'eau a été détectée","it":"Vero quando è stata rilevata dell\'acqua","sv":"Sant när vatten upptäcks","no":"Sant når vann har blitt påvist","es":"Activado cuando se detecta agua","da":"Sandt, når vand er blevet opdaget","ru":"Значение «истина» при обнаружении протечки воды","pl":"Adekwatny, kiedy wykryta zostanie woda","ko":"물이 감지되면 참"},"insights":true,"insightsTitleTrue":{"en":"Water alarm turned on","nl":"Water alarm ging af","de":"Wasser-Alarm ist angegangen","fr":"Alarme eau s\'est activée","it":"Allarme acqua attivato","sv":"Vattenalarm aktiverat","no":"Vannalarm aktivert","es":"Alarma de agua activada","da":"Vandalarm blev aktiveret","ru":"Сигнал протечки воды включен","pl":"Alarm zalania wodą włączony","ko":"누수 감지됨"},"insightsTitleFalse":{"en":"Water alarm turned off","nl":"Water alarm ging uit","de":"Wasser-Alarm ist ausgegangen","fr":"Alarme eau s\'est désactivée","it":"Allarme acqua disattivato","sv":"Vattenalarm inaktiverat","no":"Vannalarm deaktivert","es":"Alarma de agua desactivada","da":"Vandalarm blev deaktiveret","ru":"Сигнал протечки воды выключен","pl":"Alarm zalania wodą wyłączony","ko":"누수 감지되지 않음"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"alarm_water_true","highlight":true,"title":{"en":"The water alarm turned on","nl":"Het wateralarm gaat aan","de":"Der Wasser-Alarm ist angegangen","fr":"L\'alarme eau s\'est activée","it":"L\'allarme acqua è stato attivato","sv":"Vattenalarmet aktiverat","no":"Vannalarmen ble aktivert","es":"La alarma de agua se ha activado","da":"Vandalarmen blev aktiveret","ru":"Сигнал аккумулятора включен","pl":"Alarm zalania wodą włączony","ko":"누수가 감지되면"}},{"id":"alarm_water_false","title":{"en":"The water alarm turned off","nl":"Het wateralarm gaat uit","de":"Der Wasser-Alarm ist ausgegangen","fr":"L\'alarme eau s\'est désactivée","it":"L\'allarme acqua è stato disattivato","sv":"Vattenalarmet inaktiverat","no":"Vannalarmen ble deaktivert","es":"La alarma de agua se ha desactivado","da":"Vandalarmen blev deaktiveret","ru":"Сигнал аккумулятора выключен","pl":"Alarm zalania wodą wyłączony","ko":"누수가 감지되지 않으면"}}],"conditions":[{"id":"alarm_water","title":{"en":"The water alarm is !{{on|off}}","nl":"Het wateralarm is !{{aan|uit}}","de":"Der Wasser-Alarm ist !{{an|aus}}","fr":"L\'alarme eau est !{{en marche|arrêtée}}","it":"L\'allarme acqua è !{{acceso|spento}}","sv":"Vattenalarmet är !{{på|av}}","no":"Vannalarmen er !{{på|av}}","es":"La alarma de agua está !{{activada|desactivada}}","da":"Vandalarmen er !{{tændt|slukket}}","ru":"Сигнал протечки воды !{{вкл.|выкл.}}","pl":"Alarm zalania wodą jest !{{włączony|wyłączony}}","ko":"누수가 감지!{{되면|되지 않으면}}"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Audio Output","nl":"Audio-uitgang","da":"Lydudgang","it":"Uscita audio","ko":"오디오 출력","pl":"Wyjście audio","ru":"Аудиовыход","sv":"Ljudutgång","es":"Salida de audio","fr":"Sortie audio","no":"Lydutgang"},"desc":{"en":"The audio output channel for a media player.","nl":"Het audio-uitgangskanaal voor een mediaspeler.","da":"Lydudgangskanalen til en medieafspiller.","it":"Il canale di uscita audio di un lettore multimediale.","ko":"미디어 플레이어의 오디오 출력 채널입니다.","pl":"Kanał wyjściowy audio odtwarzacza multimedialnego.","ru":"Канал аудиовыхода для медиаплеера.","sv":"Ljudutgångskanalen för en mediaspelare.","es":"Canal de salida de audio en un reproductor multimedia.","fr":"Canal de sortie audio d\'un lecteur multimédia.","no":"Lydutgangskanalen for en mediespiller."},"values":[{"id":"hdmi_1","title":{"en":"HDMI 1","nl":"HDMI 1","da":"HDMI 1","it":"HDMI 1","ko":"HDMI 1","no":"HDMI 1","pl":"HDMI 1","ru":"HDMI 1","sv":"HDMI 1","es":"HDMI 1","fr":"HDMI 1"}},{"id":"hdmi_2","title":{"en":"HDMI 2","nl":"HDMI 2","da":"HDMI 2","it":"HDMI 2","ko":"HDMI 2","no":"HDMI 2","pl":"HDMI 2","ru":"HDMI 2","sv":"HDMI 2","es":"HDMI 2","fr":"HDMI 2"}},{"id":"hdmi_3","title":{"en":"HDMI 3","nl":"HDMI 3","da":"HDMI 3","it":"HDMI 3","ko":"HDMI 3","no":"HDMI 3","pl":"HDMI 3","ru":"HDMI 3","sv":"HDMI 3","es":"HDMI 3","fr":"HDMI 3"}},{"id":"line_out","title":{"en":"Line Out","nl":"Line out","da":"Linjeudgang","it":"Line out","ko":"Line out","pl":"Wyjście liniowe","ru":"Линейный выход","sv":"Linje ut","es":"Salida de línea","fr":"Sortie line","no":"Linje ut"}},{"id":"optical","title":{"en":"Optical","nl":"Optisch","da":"Optisk","it":"Ottica","ko":"Optical","pl":"Optyczne","ru":"Оптический выход","sv":"Optisk","es":"Óptico","fr":"Optique","no":"Optisk"}},{"id":"usb","title":{"en":"USB","nl":"USB","da":"USB","it":"USB","ko":"USB","pl":"USB","ru":"USB","sv":"USB","es":"USB","fr":"USB","no":"USB"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"audio_output_changed","highlight":true,"title":{"en":"The audio output changed to","nl":"De audio-uitgang is veranderd naar","da":"Lydudgangen blev ændret til","it":"L\'uscita audio è passata a","ko":"오디오 출력이 다음으로 변경되면","pl":"Wyjście audio zmieniło się na","ru":"Аудиовыход изменен на","sv":"Ljudutgången ändrades till","es":"La salida de audio ha cambiado a","fr":"La sortie audio passe à","no":"Lydutgangen ble endret til"},"args":[{"name":"output","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"audio_output_is","title":{"en":"The audio output !{{is|is not}}","nl":"De audio-uitgang !{{is|is niet}}","da":"Lydudgangen !{{er|er ikke}}","it":"L\'uscita audio !{{è|non è}}","ko":"오디오 출력이 다음!{{이면|이 아니면}}","pl":"Wyjście audio !{{jest|nie jest}}","ru":"Аудиовыход !{{|не}}","sv":"Ljudutgången !{{är|är inte}}","es":"La salida de audio !{{está|no está}}","fr":"La sortie audio !{{est|n\'est pas}}","no":"Lydutgangen !{{er|er ikke}}"},"args":[{"name":"output","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_audio_output","title":{"en":"Set audio output to","nl":"Audio-uitgang instellen op","da":"Indstil lydudgang til","it":"Imposta l\'uscita audio su","ko":"오디오 출력을 다음으로 설정","pl":"Ustaw wyjście audio na","ru":"Установить аудиовыход на","sv":"Ställ in ljudutgång till","es":"Configurar la salida de audio en","fr":"Définir la sortie audio sur","no":"Sett lydutgang til"},"args":[{"name":"output","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Battery charging state","nl":"Oplaadstatus van de batterij","da":"Batteriets opladningstilstand","it":"Stato di carica della batteria","ko":"배터리 충전 상태","pl":"Stan ładowania baterii","ru":"Состояние зарядки аккумулятора","sv":"Batteriets laddningsstatus","es":"Estado de carga de la batería","fr":"État de charge de la batterie","no":"Batteriladingsstatus"},"desc":{"en":"The current charging state of the battery.","nl":"De huidige oplaadstatus van de batterij.","da":"Batteriets aktuelle opladningstilstand.","it":"Lo stato di carica attuale della batteria.","ko":"배터리의 현재 충전 상태입니다.","pl":"Bieżący stan naładowania baterii.","ru":"Текущее состояние зарядки аккумулятора.","sv":"Batteriets aktuella laddningsstatus.","es":"El estado de carga actual de la batería.","fr":"L\'état de charge actuel de la batterie.","no":"Batteriets nåværende ladingsstatus."},"values":[{"id":"charging","title":{"en":"Charging","nl":"Opladen","da":"Oplader","it":"In carica","ko":"충전 중","pl":"Ładowanie","ru":"Заряжается","sv":"Laddning","es":"Cargando","fr":"Charge","no":"Lades"}},{"id":"discharging","title":{"en":"Discharging","nl":"Ontladen","da":"Aflader","it":"Scarica","ko":"충전 중이 아님","pl":"Rozładowanie","ru":"Разряжается","sv":"Urladdning","es":"Descargando","fr":"Décharge","no":"Lades ut"}},{"id":"idle","title":{"en":"Idle","nl":"Inactief","da":"Inaktiv","it":"Inattivo","ko":"대기","pl":"Bezczynność","ru":"В ожидании","sv":"Viloläge","es":"Reposo","fr":"Inactif","no":"Inaktiv"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"battery_charging_state_changed","title":{"en":"The battery charging state changed","nl":"De oplaadstatus van de batterij is veranderd","da":"Batteriets opladningstilstand er ændret","it":"Lo stato di carica della batteria è cambiato","ko":"배터리 충전 상태가 변경되면","pl":"Stan ładowania baterii uległ zmianie","ru":"Состояние зарядки батареи изменилось","sv":"Batteriets laddningsstatus har ändrats","es":"El estado de carga de la batería ha cambiado","fr":"L\'état de charge de la batterie a changé","no":"Batteriladingsstatusen ble endret"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"battery_charging_state_is","title":{"en":"The battery charging state is","nl":"De oplaadstatus van de batterij is","da":"Batteriets opladningstilstand er","it":"Lo stato di carica della batteria è","ko":"배터리 충전 상태가 다음이면","pl":"Stan ładowania baterii to","ru":"Состояние зарядки аккумулятора:","sv":"Batteriets laddningsstatus är","es":"El estado de carga de la batería es","fr":"L\'état de charge de la batterie est","no":"Batteriladingsstatusen er"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Button","nl":"Knop","de":"Taste","fr":"Bouton","it":"Pulsante","sv":"Knapp","no":"Knapp","es":"Botón","da":"Knap","ru":"Кнопка","pl":"Przycisk","ko":"버튼"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","uiQuickAction":true,"$flow":{"actions":[{"id":"press","title":{"en":"Press the button","nl":"Druk op de knop","de":"Drücke die Taste","fr":"Appuyer sur le bouton","it":"Premi il pulsante","sv":"Tryck på knappen","no":"Trykk på knappen","es":"Pulsa el botón","da":"Tryk på knappen","ru":"Нажмите кнопку","pl":"Naciśnij przycisk","ko":"버튼 누르기"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Channel down","nl":"Kanaal omlaag","de":"Kanal runter","fr":"Chane bas","it":"Canale verso il basso","sv":"Kanal ned","no":"Lavere kanal","es":"Bajar de canal","da":"Kanal ned","ru":"Канал вниз","pl":"Kanał w dół","ko":"채널 아래로"},"type":"boolean","getable":false,"setable":true,"$flow":{"actions":[{"id":"channel_down","title":{"en":"One channel down","nl":"Eén kanaal omlaag","de":"Einen Kanal runter","fr":"Une châine vers le bas","it":"Un canale verso il basso","sv":"En kanal ned","no":"En kanal lavere","es":"Un canal más abajo","da":"En kanal ned","ru":"Один канал вниз","pl":"Jeden kanał w dół","ko":"채널 하나 아래로"}}]},"uiComponent":"button"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Channel up","nl":"Kanaal omhoog","de":"Kanal hoch","fr":"Chaîne haut","it":"Canale verso l\'alto","sv":"Kanal upp","no":"Høyere kanal","es":"Subir de canal","da":"Kanal op","ru":"Канал наверх","pl":"Kanał w górę","ko":"채널 위로"},"type":"boolean","getable":false,"setable":true,"$flow":{"actions":[{"id":"channel_up","title":{"en":"One channel up","nl":"Eén kanaal omhoog","de":"Einen Kanal hoch","fr":"Une chaîne vers le haut","it":"Un canale verso l\'alto","sv":"En kanal upp","no":"En kanal høyere","es":"Un canal más arriba","da":"En kanal op","ru":"Один канал наверх","pl":"Jeden kanał w górę","ko":"채널 하나 위로"}}]},"uiComponent":"button"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Dim level","nl":"Dim niveau","de":"Dimmlevel","fr":"Intensité lumineuse","it":"Intensità luminosa","sv":"Dimningsnivå","no":"Dempingsnivå","es":"Intensidad de la luz","da":"Lysniveau","ru":"Уровень яркости","pl":"Poziom przygaszenia","ko":"밝기"},"chartType":"stepLine","min":0,"max":1,"decimals":2,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"dim_changed","title":{"en":"The dim level changed","nl":"Het dim-niveau is veranderd","de":"Dimm-Niveau geändert","fr":"Intensité lumineuse modifiée","it":"L\'intensità luminosa è cambiata","sv":"Dimningsnivå ändrades","no":"Dempingsnivået ble endret","es":"La intensidad de la luz ha cambiado","da":"Lysniveau ændret","ru":"Уровень яркости изменен","pl":"Zmienił się poziom przygaszenia","ko":"밝기가 변경되면"},"tokens":[{"name":"dim","type":"number","title":{"en":"Level","nl":"Niveau","de":"Niveau","fr":"Niveau","it":"Livello","sv":"Nivå","no":"Nivå","es":"Nivel","da":"Niveau","ru":"Уровень","pl":"Poziom","ko":"밝기"},"example":0.5}]}],"actions":[{"id":"dim","highlight":true,"title":{"en":"Dim to","nl":"Dim naar","de":"Dimmen auf","fr":"Mettre l\'intensité lumineuse sur","it":"Imposta l\'intensità luminosa su","sv":"Dimma till","no":"Demp til","es":"Ajustar la intensidad de la luz a","da":"Juster til","ru":"Установить яркость","pl":"Przygaś do","ko":"다음 밝기로 조절"},"args":[{"name":"dim","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]},{"id":"dim_relative","title":{"en":"Set relative dim-level","nl":"Zet relatief dim-niveau op","de":"Relatives Dimm-Niveau setzen","fr":"Définir l\'intensité lumineuse sur relative","it":"Imposta intensità luminosa su relativa","no":"Innstill relativt dempingsnivå","es":"Ajustar la intensidad de la luz como relativa","da":"Indstil relativt lysniveau","ru":"Установить относительный уровень яркости","pl":"Ustaw względny poziom przygaszenia","ko":"상대 밝기 설정"},"hint":{"en":"Dim or brighten with respect to the device\'s current dim-level.","nl":"Verhoog of verlaag de helderheid ten opzichte van het huidige dim-niveau van het apparaat.","ru":"Уменьшить или увеличить яркость относительно текущего уровня яркости устройства.","pl":"Przygaś lub rozjaśnij względem obecnego poziomu przygaszenia urządzenia.","ko":"제품의 현재 디밍 수준에 따라 어둡게 또는 밝게 설정돼요.","no":"Demp eller gjør lysere i forhold til enhetens gjeldende dimmingsnivå."},"args":[{"name":"dim","type":"range","min":-1,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Dishwasher program","nl":"Vaatwasprogramma","da":"Program til opvaskemaskine","it":"Programma lavastoviglie","ko":"식기세척기 운전 모드","pl":"Program zmywarki","ru":"Программа посудомоечной машины","sv":"Diskmaskinsprogram","es":"Programa del lavavajillas","fr":"Programme lave-vaisselle","no":"Oppvaskmaskinprogram"},"desc":{"en":"The current program of the dishwasher.","nl":"Het huidige programma van de vaatwasser.","da":"Opvaskemaskinens aktuelle program.","it":"Il programma attuale della lavastoviglie.","ko":"식기세척기의 현재 프로그램입니다.","pl":"Bieżący program zmywarki.","ru":"Текущая программа посудомоечной машины.","sv":"Diskmaskinens aktuella program.","es":"El programa actual del lavavajillas.","fr":"Le programme actuel du lave-vaisselle.","no":"Oppvaskmaskinens gjeldende program."},"values":[{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normalt","it":"Normale","ko":"중","pl":"Normalny","ru":"Стандартная","sv":"Normal\\n","es":"Normal","fr":"Normal","no":"Normal"}},{"id":"heavy","title":{"en":"Heavy","nl":"Zwaar","da":"Tungt","it":"Pesante","ko":"강","pl":"Intensywny","ru":"Интенсивная","sv":"Tung","es":"Intensivo","fr":"Intensif","no":"Kraftig"}},{"id":"light","title":{"en":"Light","nl":"Licht","da":"Let","it":"Leggero","ko":"약","pl":"Lekki","ru":"Легкая","sv":"Lätt","es":"Rápido","fr":"Rapide","no":"Lett"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"dishwasher_program_changed","highlight":true,"title":{"en":"The program changed to","nl":"Het programma is veranderd in","da":"Programmet blev ændret til","it":"Il programma è passato a","ko":"식기세척기 운전 모드가 다음으로 변경되면 ","pl":"Program zmienił się na","ru":"Программа изменена на","sv":"Programmet ändrades till","es":"El programa ha cambiado a","fr":"Le programme du lave-vaisselle est passé à","no":"Programmet ble endret til"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"dishwasher_program_is","title":{"en":"The program is","nl":"Het programma is","da":"Programmet er","it":"Il programma è","ko":"식기세척기 운전 모드가 다음이면","pl":"Program to","ru":"Программа:","sv":"Programmet är","es":"El programa es","fr":"Le programme est","no":"Programmet er"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Docked","nl":"Gekoppeld","da":"Forankret","it":"Alloggiato","ko":"거치 상태","pl":"Zadokowane","ru":"Установлено в док-станцию","sv":"Dockad","es":"En la base de carga","fr":"À la base","no":"I stasjonen"},"desc":{"en":"True when docked.","nl":"Wordt geactiveerd wanneer deze is gekoppeld.","da":"Sandt, når forankret.","it":"Vero quando è alloggiato.","ko":"도킹되면 참입니다.","pl":"Prawda, gdy zadokowane.","ru":"Значение «истина» при установке в док-станцию.","sv":"Sant när den är dockad.","es":"Activado cuando está en la base de carga.","fr":"Se déclenche lorsque l\'appareil est à la base.","no":"Sann når den er i stasjonen."},"insights":true,"insightsTitleTrue":{"en":"Docked","nl":"Gekoppeld","da":"Forankret","it":"Alloggiato","ko":"거치됨","pl":"Zadokowane","ru":"Установлено в док-станцию","sv":"Dockad","es":"En la base de carga","fr":"À la base","no":"I stasjonen"},"insightsTitleFalse":{"en":"Not docked","nl":"Niet gekoppeld","da":"Ikke forankret","it":"Non alloggiato","ko":"거치되지 않음","pl":"Nie zadokowane","ru":"Не установлено в док-станцию","sv":"Inte dockad","es":"Fuera de la base de carga","fr":"Pas à la base","no":"Ikke i stasjonen"},"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"docked_true","highlight":true,"title":{"en":"Has docked","nl":"Is gekoppeld","da":"Er forankret","it":"Alloggiato","ko":"거치된 상태이면","pl":"Jest zadokowane","ru":"Установлено в док-станцию","sv":"Dockad","es":"Está en la base de carga","fr":"À la base","no":"Har gått til stasjonen"}},{"id":"docked_false","title":{"en":"Has undocked","nl":"Is losgekoppeld","da":"Er ikke forankret","it":"Non alloggiato","ko":"거치되지 않은 상태라면","pl":"Jest niezadokowane","ru":"Не установлено в док-станцию","sv":"Inte dockad","es":"Está fuera de la base de carga","fr":"Pas à la base","no":"Har gått ut av stasjonen"}}],"conditions":[{"id":"docked","title":{"en":"Is !{{docked|not docked}}","nl":"Is !{{gekoppeld|niet gekoppeld}}","da":"Er !{{Forankret|Ikke forankret}}","it":"È !{{alloggiato|non alloggiato}}","ko":"!{{거치된 상태이면|거치되지 않은 상태라면}}","pl":"Jest !{{zadokowane|niezadokowane}}","ru":"!{{Установлено в док-станцию|Не установлено в док-станцию}}","sv":"Är !{{dockad|inte dockad}}","es":"Está !{{en la base de carga|fuera de la base de carga}}","fr":"!{{Est à la base|N\'est pas à la base}}","no":"Er !{{i stasjonen|ikke i stasjonen}}"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Fan Mode","nl":"Ventilatormodus","da":"Ventilatortilstand","it":"Modalità ventola","ko":"팬 모드","pl":"Tryb wentylatora","ru":"Режим вентилятора","sv":"Fläktläge","es":"Modo ventilador","fr":"Mode de ventilation","no":"Viftemodus"},"values":[{"id":"auto","title":{"en":"Auto","nl":"Automatisch","da":"Auto","it":"Auto","ko":"자동","pl":"Auto","ru":"Авто","sv":"Auto","es":"Automático","fr":"Automatique","no":"Automatisk"}},{"id":"on","title":{"en":"On","nl":"Aan","da":"Til","it":"On","ko":"켜짐","no":"På","pl":"Wł","ru":"Включен","sv":"På","es":"Activado","fr":"Activé"}},{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","no":"Av","pl":"Wył","ru":"Выключен","sv":"Av","es":"Desactivado","fr":"Désactivé"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"fan_mode_changed","title":{"en":"The fan mode has changed to","nl":"De ventilatormodus is veranderd naar","da":"Ventilatortilstanden er ændret til","it":"La modalità ventola è passata a","ko":"팬 모드가 다음으로 변경되면","no":"Viftemodusen er endret til","pl":"Tryb wentylatora zmienił się na","ru":"Режим вентилятора изменен на","sv":"Fläktläget har ändrats till","es":"El modo ventilador ha cambiado a","fr":"Le mode de ventilation est passé à=Le mode de ventilation est passé à"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"fan_mode_is","title":{"en":"The fan mode !{{is|is not}}","nl":"De ventilatormodus !{{is|is niet}}","da":"Ventilatortilstand !{{er|er ikke}}","it":"La modalità ventola !{{è|non è}}","ko":"팬 모드가 다음!{{이면|이 아니면}}","no":"Viftemodusen !{{er|er ikke}}","pl":"Tryb wentylatora !{{jest|nie jest}}","ru":"Режим вентилятора !{{|не}}","sv":"Fläktläge !{{är|är inte}}","es":"El modo ventilador !{{está|no está}} ","fr":"Le mode de ventilation !{{est|n\'est pas}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_fan_mode","title":{"en":"Set fan mode to","nl":"Ventilatormodus instellen op","da":"Indstil ventilatortilstand til","it":"Imposta la modalità ventola su","ko":"팬 모드를 다음으로 설정","no":"Sett viftemodusen til","pl":"Ustaw tryb wentylatora na","ru":"Установить режим вентилятора на","sv":"Ställ in fläktläget på","es":"Ajustar el modo de ventilador en","fr":"Définir le mode de ventilation sur"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Fan Speed","nl":"Ventilatorsnelheid","da":"Ventilatorhastighed","it":"Velocità della ventola","ko":"팬 속도","no":"Viftehastighet","pl":"Prędkość wentylatora","ru":"Скорость вентилятора","sv":"Fläkthastighet","es":"Velocidad del ventilador","fr":"Vitesse de ventilation"},"units":{"en":"%","da":"%","it":"%","ko":"%","nl":"%","no":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %"},"desc":{"en":"The fan speed in percentage.","nl":"De ventilatorsnelheid in procenten.","da":"Ventilatorhastigheden i procent.","it":"La velocità della ventola in percentuale.","ko":"백분율로 표현한 팬 속도입니다.","no":"Viftehastigheten i prosent.","pl":"Prędkość wentylatora w procentach.","ru":"Скорость работы вентилятора в процентах.","sv":"Fläkthastigheten i procent.","es":"La velocidad del ventilador en porcentaje.","fr":"Vitesse de ventilation en pourcentage."},"insights":true,"chartType":"spline","min":0,"max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"fan_speed_changed","title":{"en":"The fan speed changed","nl":"De ventilatorsnelheid is veranderd","da":"Ventilatorhastigheden ændrede sig","it":"La velocità della ventola è cambiata","ko":"팬 속도가 변경되면","no":"Viftehastigheten ble endret","pl":"Prędkość wentylatora zmieniła się","ru":"Скорость вентилятора изменена","sv":"Fläkthastigheten ändrades","es":"La velocidad del ventilador ha cambiado","fr":"La vitesse de ventilation a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_fan_speed","title":{"en":"Set the fan speed to","nl":"De ventilatorsnelheid instellen op","da":"Indstil ventilatorhastigheden til","it":"Imposta la velocità della ventola su","ko":"팬 속도를 다음으로 설정","no":"Sett viftehastigheten til","pl":"Ustaw prędkość wentylatora na","ru":"Установить скорость вентилятора на","sv":"Ställ in fläkthastigheten på","es":"Ajustar la velocidad del ventilador a","fr":"Définir la vitesse de ventilation sur"},"args":[{"name":"fan_speed","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыта","pl":"Zamknięta","ko":"차고 문"},"getable":true,"setable":true,"insights":true,"insightsTitleTrue":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыта","pl":"Zamknięta","ko":"차고 문 닫힘"},"insightsTitleFalse":{"en":"Opened","nl":"Geopend","de":"Offen","fr":"Ouvert","it":"Aperte","sv":"Öppen","no":"Åpnet","es":"Abiertos","da":"Åben","ru":"Открыта","pl":"Otwarta","ko":"차고 문 열림"},"uiComponent":"toggle","$flow":{"triggers":[{"id":"garagedoor_closed_true","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыта","pl":"Zamknięta","ko":"차고 문이 닫히면"}},{"id":"garagedoor_closed_false","title":{"en":"Opened","nl":"Geopend","de":"Offen","fr":"Ouvert","it":"Aperte","sv":"Öppen","no":"Åpnet","es":"Abiertos","da":"Åben","ru":"Открыта","pl":"Otwarta","ko":"차고 문이 열리면"}}],"conditions":[{"id":"closed","title":{"en":"Is !{{closed|open}}","nl":"Is !{{gesloten|geopend}}","de":"Ist !{{geschlossen|offen}}","fr":"Est !{{fermé|ouvert}}","it":"È !{{chiuso|aperto}}","sv":"Är !{{stängd|öppen}}","no":"Er !{{lukket|åpen}}","es":"Está !{{cerrado|abierto}}","da":"Er !{{lukket|åben}}","ru":"!{{закрыта|открыта}}","pl":"Jest !{{zamknięta|otwarta}}","ko":"차고 문이 !{{닫히면|열리면}}"}}],"actions":[{"id":"close","highlight":true,"title":{"en":"Close","nl":"Sluiten","de":"Schließen","fr":"Fermer","it":"Chiudi","sv":"Stäng","no":"Lukk","es":"Cerrar","da":"Luk","ru":"Закрыть","pl":"Zamknij","ko":"차고 문 닫기"}},{"id":"open","highlight":true,"title":{"en":"Open","nl":"Openen","de":"Öffnen","fr":"Ouvrir","it":"Apri","sv":"Öppna","no":"Åpne","es":"Abrir","da":"Åbn","ru":"Открыть","pl":"Otwórz","ko":"차고 문 열기"}},{"id":"toggle","title":{"en":"Toggle open or closed","nl":"Schakel tussen geopend en gesloten","de":"Offen/Geschlossen umschalten","fr":"Alterner ouvert/fermé","it":"Alterna aperte/chiuse","sv":"Växla mellan öppen eller stängd","no":"Veksle mellom åpen og lukket","es":"Abrir o cerrar","da":"Skift mellem åben og lukket","ru":"Переключатель открыть/закрыть","pl":"Przełącz na otwartą lub zamkniętą","ko":"차고 문 열림/닫힘 상태 전환하기"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Heater Operation Mode","nl":"Verwarmingsmodus","da":"Varmeapparatets driftstilstand","it":"Modalità di funzionamento del calorifero","ko":"히터 운전 모드","pl":"Tryb grzania","ru":"Режим работы обогревателя","sv":"Driftläge för värmare","es":"Modo de calefacción","fr":"Mode de fonctionnement du chauffage","no":"Driftsmodus for varmeovn"},"values":[{"id":"eco","title":{"en":"Eco","nl":"Eco","da":"Øko","it":"Eco","ko":"절약","pl":"Eko","ru":"Эко","sv":"Eco","es":"Eco","fr":"Économique","no":"Øko"}},{"id":"electric","title":{"en":"Electric","nl":"Elektrisch","da":"Elektrisk","it":"Elettrico","ko":"전기","pl":"Elektryczne","ru":"Электричество","sv":"Elektrisk","es":"Eléctrico","fr":"Électrique","no":"Elektrisk"}},{"id":"performance","title":{"en":"Performance","nl":"Prestatie","da":"Præstation","it":"Prestazioni","ko":"고성능","pl":"Komfort","ru":"Высокопроизводительный","sv":"Prestanda","es":"Rendimiento","fr":"Performance","no":"Ytelse"}},{"id":"high_demand","title":{"en":"High Demand","nl":"Hoog verbruik","da":"Høj efterspørgsel","it":"Domanda elevata","ko":"고수요","pl":"Wysokie zapotrzebowanie","ru":"Интенсивный","sv":"Hög efterfrågan","es":"Alta demanda","fr":"Forte demande","no":"Høy etterspørsel"}},{"id":"heat_pump","title":{"en":"Heat Pump","nl":"Warmtepomp","da":"Varmepumpe","it":"Pompa di calore","ko":"히트 펌프","no":"Varmepumpe","pl":"Pompa ciepła","ru":"Тепловой насос","sv":"Värmepump","es":"Bomba de calor","fr":"Pompe à chaleur"}},{"id":"gas","title":{"en":"Gas","nl":"Gas","da":"Gas","it":"Gas","ko":"가스","no":"Gass","pl":"Gazowe","ru":"Газ","sv":"Gas","es":"Gas","fr":"Gaz"}},{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","no":"Av","pl":"Wył","ru":"Выключен","sv":"Av","es":"Desactivado","fr":"Désactivé"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"heater_operation_mode_changed","title":{"en":"The heater operation mode has changed to","nl":"De verwarmingsmodus is veranderd naar","da":"Varmeapparatets driftstilstand er ændret til","it":"La modalità di funzionamento del calorifero è passata a","ko":"히터 작동 모드가 다음으로 변경되면","no":"Varmeelementets driftsmodus er endret til","pl":"Tryb grzania zmienił się na","ru":"Режим работы обогревателя изменен на","sv":"Värmarens driftläge har ändrats till","es":"El modo de calefacción ha cambiado a","fr":"Le mode de fonctionnement du chauffage est passé à"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"heater_operation_mode_is","title":{"en":"The heater operation mode !{{is|is not}}","nl":"De verwarmingsmodus !{{is|is niet}}","da":"Varmeapparatets driftstilstand !{{er|er ikke}}","it":"La modalità di funzionamento del calorifero !{{è|non è}}","ko":"히터 작동 모드가 다음!{{이면|이 아니면}}","pl":"Tryb pracy ogrzewacza !{{jest|nie jest}}","ru":"Режим работы обогревателя !{{|не}}","sv":"Driftläge för värmaren !{{är|är inte}}","es":"El modo de calefacción !{{está|no está}}","fr":"Le mode de fonctionnement du chauffage !{{est|n\'est pas}}","no":"Varmeovnens driftsmodus !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_heater_operation_mode","title":{"en":"Set the heater operation mode to","nl":"De verwarmingsmodus instellen op","da":"Indstil varmeapparatets driftstilstand til","it":"Imposta la modalità di funzionamento del calorifero su","ko":"히터 작동 모드를 다음으로 설정","pl":"Ustaw tryb grzania na","ru":"Установить режим работы обогревателя на","sv":"Ställ in värmarens driftläge på","es":"Ajustar el modo de calefacción en","fr":"Définir le mode de fonctionnement du chauffage sur","no":"Sett varmeovnens driftsmodus til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Home alarm state","nl":"Thuisalarm status","de":"Heim-Alarm-Status","fr":"Etat de l\'alarme de maison","it":"Stato dell\'allarme domestico","sv":"Hemlarmsstatus","no":"Hjemmealarmstatus","es":"Estado de la alarma doméstica","da":"Hjemmealarmstatus","ru":"Состояние домашней сигнализации","pl":"Stan alarmu domowego","ko":"홈 알람 상태"},"values":[{"id":"armed","title":{"en":"Armed","nl":"Geactiveerd","de":"scharf","fr":"Armé","it":"Attivato","sv":"Larmat","no":"Aktivert","es":"Activada","da":"Aktiveret","ru":"Готова","pl":"Uzbrojony","ko":"경보 활성화됨"}},{"id":"disarmed","title":{"en":"Disarmed","nl":"Gedeactiveerd","de":"unscharf","fr":"Désarmé","it":"Disattivato","sv":"Avlarmat","no":"Deaktivert","es":"Desactivada","da":"Deaktiveret","ru":"не готова","pl":"rozbrojony","ko":"경보 해제됨"}},{"id":"partially_armed","title":{"en":"Partially armed","nl":"Deels geactiveerd","de":"teilweise scharf","fr":"Partiellement armé","it":"Parzialmente attivato","sv":"Delvis larmat","no":"Delvis aktivert","es":"Parcialmente activada","da":"Delvist aktiveret","ru":"Частично готова","pl":"Częściowo uzbrojony","ko":"경보 부분 활성화됨"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"homealarm_state_changed","title":{"en":"The state changed","nl":"De status is veranderd","de":"Der Status hat sich geändert","fr":"L\'état a été modifié","it":"Lo stato è cambiato","sv":"Statusen ändrad","no":"Statusen ble endret","es":"El estado ha cambiado","da":"Status ændret","ru":"Состояние изменено","pl":"Zmiana stanu","ko":"홈 알람 상태가 변경되면"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"homealarm_state_is","title":{"en":"The state is !{{|not}}","nl":"De status is !{{|niet}}","de":"Der Status ist !{{|nicht}}","fr":"L\'état !{{est|n\'est pas}}","it":"Lo stato è !{{|non}}","sv":"Statusen är !{{|inte}}","no":"Statusen er !{{|ikke}}","es":"El estado !{{|no}} es","da":"Status er !{{|ikke}}","ru":"Состояние — !{{|не}}","pl":"Stan to !{{|nie}}","ko":"홈 알람 상태가 다음!{{이면|이 아니면}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_homealarm_state","title":{"en":"Set state","nl":"Zet de status","de":"Status setzen","fr":"Définir l\'état","it":"Imposta stato","sv":"Ställ in status","no":"Innstill status","es":"Definir estado","da":"Indstil status","ru":"Установить состояние","pl":"Ustaw stan","ko":"홈 알람 상태 설정"},"$filter":{"capabilities":"homealarm_state"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Hot water mode","nl":"Warmwatermodus","da":"Varmtvandstilstand","it":"Modalità acqua calda","ko":"온수 모드","pl":"Tryb ciepłej wody","ru":"Режим нагрева воды","sv":"Varmvattenläge","es":"Modo de agua caliente","fr":"Mode eau chaude","no":"Varmtvannsmodus"},"values":[{"id":"on","title":{"en":"On","nl":"Aan","da":"Til","it":"On","ko":"켜짐","pl":"Wł","ru":"Включен","sv":"På","es":"Activado","fr":"Activé","no":"På"}},{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","pl":"Wył","ru":"Выключен","sv":"Av","es":"Desactivado","fr":"Désactivé","no":"Av"}},{"id":"eco","title":{"en":"Eco","nl":"Eco","da":"Øko","it":"Eco","ko":"절약","pl":"Eko","ru":"Эко","sv":"Eco","es":"Eco","fr":"Économique","no":"Øko"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"hot_water_mode_changed","title":{"en":"The hot water mode has changed to","nl":"De warmwatermodus is veranderd naar","da":"Varmtvandstilstanden er ændret til","it":"La modalità acqua calda è passata a","ko":"온수 모드가 다음으로 변경되면","no":"Varmtvannsmodus er endret til","pl":"Tryb ciepłej wody zmienił się na","ru":"Режим нагрева воды изменен на","sv":"Varmvattenläget har ändrats till","es":"El modo de agua caliente ha cambiado a","fr":"Le mode eau chaude est passé à"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"hot_water_mode_is","title":{"en":"The hot water mode !{{is|is not}}","nl":"De warmwatermodus !{{is|is niet}}","da":"Tilstanden for varmt vand !{{er|er ikke}}!","it":"La modalità acqua calda !{{è|non è}}","ko":"온수 모드가 다음!{{이면|이 아니면}}","pl":"Tryb gorącej wody !{{jest|nie jest}}","ru":"Режим нагрева воды !{{|не}}","sv":"Varmvattenläge !{{är|är inte}}","es":"El modo de agua caliente !{{está activado|está desactivado}}","fr":"Le mode eau chaude !{{est|n\'est pas}}","no":"Varmtvannsmodusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_hot_water_mode","title":{"en":"Set the hot water mode to","nl":"De warmwatermodus instellen op","da":"Indstil varmtvandstilstanden til","it":"Imposta la modalità acqua calda su","ko":"온수 모드를 다음으로 설정","pl":"Ustaw tryb ciepłej wody na","ru":"Установить режим нагрева воды на","sv":"Ställ in varmvattenläget på","es":"Ajustar el modo de agua caliente en","fr":"Définir le mode eau chaude sur","no":"Sett varmtvannsmodusen til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Laundry washer cycles","nl":"Wascycli","da":"Vaskemaskinens cyklusser","it":"Cicli di lavaggio della lavatrice","ko":"세탁 사이클","pl":"Cykle prania","ru":"Циклы стирки","sv":"Tvättmaskinscykler","es":"Ciclos de lavado","fr":"Cycles du lave-linge","no":"Vaskesykluser"},"desc":{"en":"The amount of cycles the laundry washer should perform.","nl":"Het aantal wascycli dat de wasmachine moet uitvoeren.","da":"Antallet af cyklusser, som vaskemaskinen skal udføre.","it":"La quantità di cicli che la lavatrice deve eseguire.","ko":"세탁기가 동작할 사이클의 수입니다.","pl":"Liczba cykli, które powinna wykonać pralka.","ru":"Количество циклов стирки, которые должна выполнять стиральная машина.","sv":"Antalet cykler som tvättmaskinen ska utföra.","es":"El número de ciclos que debe hacer la lavadora.","fr":"Le nombre de cycles que le lave-linge doit effectuer.","no":"Antall sykluser vaskemaskinen skal gjennomføre."},"values":[{"id":"none","title":{"en":"None","nl":"Geen","da":"Ingen","it":"Nessuno","ko":"선택 안 함","pl":"Brak","ru":"Нет","sv":"Ingen","es":"Ninguno","fr":"Aucun","no":"Ingen"}},{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalne","ru":"Стандарт","sv":"Normal","es":"Normal","fr":"Normal","no":"Standard"}},{"id":"extra","title":{"en":"Extra","nl":"Extra","da":"Ekstra","it":"Extra","ko":"많이","pl":"Dodatkowe","ru":"Дополнительно","sv":"Extra","es":"Extra","fr":"Extra","no":"Ekstra"}},{"id":"max","title":{"en":"Max","nl":"Max","da":"Maks","it":"Max","ko":"최대","pl":"Maksymalne","ru":"Максимально","sv":"Max","es":"Máximo","fr":"Max","no":"Maks."}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"laundry_washer_cycles_changed","highlight":true,"title":{"en":"The cycles changed to","nl":"De cycli zijn veranderd in","da":"Cyklusserne blev ændret til","it":"I cicli sono passati a","ko":"세탁 사이클이 다음으로 변경되면 ","pl":"Cykle prania zmieniły się na","ru":"Циклы стирки изменены на","sv":"Cyklerna ändrade till","es":"Los ciclos han cambiado a","fr":"Les cycles du lave-linge sont passés à","no":"Syklusene ble endret til"},"args":[{"name":"cycles","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"laundry_washer_cycles_is","title":{"en":"The cycles !{{is|is not}}","nl":"De cycli !{{zijn|zijn niet}} ","da":"Cyklusserne !{{er|er ikke}}","it":"I cicli !{{sono|non sono}}","ko":"세탁 사이클이 다음!{{이면|이 아니면}}","pl":"Cykle pralki !{{jest|nie jest}}","ru":"Циклы стирки !{{|не}}","sv":"Cyklerna !{{är|är inte}}","es":"Los ciclos !{{están|no están}}","fr":"Les cycles de lave-linge !{{sont|ne sont pas}}","no":"Syklusene !{{er|er ikke}}"},"args":[{"name":"cycles","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_laundry_washer_cycles","title":{"en":"Set the laundry washer cycles to","nl":"De wasmachinecycli instellen op","da":"Indstil vaskemaskinens cyklusser til","it":"Imposta i cicli della lavatrice su","ko":"세탁 사이클을 다음으로 설정","pl":"Ustaw cykle prania na","ru":"Установить циклы стирки на","sv":"Ställ in tvättmaskinens cykler på","es":"Ajustar los ciclos de lavado a","fr":"Définir les cycles du lave-linge sur","no":"Sett vaskesyklusene til"},"args":[{"name":"cycles","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Laundry washer program","nl":"Wasprogramma","da":"Vaskemaskineprogram","it":"Programma di lavaggio della lavatrice","ko":"세탁 모드","pl":"Program prania","ru":"Программы стирки","sv":"Tvättmaskinsprogram","es":"Programa de lavado","fr":"Programme du lave-linge","no":"Vaskemaskinprogram"},"desc":{"en":"The current program of the laundry washer.","nl":"Het huidige programma van de wasmachine.","da":"Vaskemaskinens aktuelle program.","it":"Il programma attuale della lavatrice.","ko":"세탁기의 현재 프로그램입니다.","pl":"Bieżący program prania.","ru":"Текущая программа стирки.","sv":"Tvättmaskinens aktuella program.","es":"El programa actual de la lavadora.","fr":"Le programme actuel du lave-linge.","no":"Vaskemaskinens gjeldende program."},"values":[{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"표준","pl":"Normalne","ru":"Стандартная","sv":"Normal","es":"Normal","fr":"Normal","no":"Normalt"}},{"id":"auto","title":{"en":"Auto","nl":"Auto","da":"Auto","it":"Auto","ko":"자동","pl":"Auto","ru":"Авто","sv":"Auto","es":"Automático","fr":"Automatique","no":"Automatisk"}},{"id":"quick","title":{"en":"Quick","nl":"Snel","da":"Hurtig","it":"Veloce","ko":"신속","pl":"Szybkie","ru":"Быстрая","sv":"Snabbt","es":"Rápido","fr":"Rapide","no":"Hurtig"}},{"id":"heavy","title":{"en":"Heavy","nl":"Zwaar","da":"Tung","it":"Pesante","ko":"강력","pl":"Intensywne","ru":"Интенсивная","sv":"Tungt","es":"Intensivo","fr":"Long","no":"Kraftig"}},{"id":"whites","title":{"en":"Whites","nl":"Wit","da":"Hvid","it":"Bianchi","ko":"흰옷","pl":"Biel","ru":"Белые вещи","sv":"Vittvätt","es":"Blancos","fr":"Blancs","no":"Hvitvask"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"laundry_washer_program_changed","highlight":true,"title":{"en":"The program changed to","nl":"Het programma is veranderd in","da":"Programmet blev ændret til","it":"Il programma è passato a","ko":"세탁 모드가 다음으로 변경되면","pl":"Program zmienił się na","ru":"Программа изменена на","sv":"Programmet ändrades till","es":"El programa ha cambiado a","fr":"Le programme du lave-linge est passé à","no":"Programmet ble endret til"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"laundry_washer_program_is","title":{"en":"The program !{{is|is not}}","nl":"Het programma !{{is|is niet}}","da":"Programmet !{{er|er ikke}}","it":"Il programma !{{è|non è}}","ko":"세탁 모드가 다음!{{이면|이 아니면}}","pl":"Program !{{jest|nie jest}}","ru":"Программа !{{|не}}","sv":"Programmet !{{är|är inte}}","es":"El programa !{{está|no está}}","fr":"Le programme du lave-linge !{{est|n\'est pas}}","no":"Programmet !{{er|er ikke}}"},"args":[{"name":"program","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Laundry washer speed","nl":"Toerental van wasmachine","da":"Vaskemaskinens hastighed","it":"Velocità della lavatrice","ko":"세탁 속도","pl":"Prędkość prania","ru":"Скорость стиральной машины","sv":"Tvättmaskinens hastighet","es":"Velocidad de centrifugado","fr":"Vitesse du lave-linge","no":"Vaskehastighet"},"desc":{"en":"The spin speed of the laundry washer.","nl":"De centrifugesnelheid van de wasmachine.","da":"Vaskemaskinens centrifugeringshastighed.","it":"La velocità di centrifuga della lavatrice.","ko":"세탁기의 회전 속도입니다.","pl":"Prędkość obrotów pralki.","ru":"Скорость отжима в стиральной машине.","sv":"Tvättmaskinens centrifugeringshastighet.","es":"La velocidad de centrifugado de la lavadora.","fr":"La vitesse d\'essorage du lave-linge.","no":"Vaskemaskinens sentrifugehastighet."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lav","it":"Bassa","ko":"저속","pl":"Niska","ru":"Низкая","sv":"Låg","es":"Baja","fr":"Lente","no":"Lav"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Media","ko":"보통","pl":"Średnia","ru":"Средняя","sv":"Medium","es":"Intermedia","fr":"Moyenne","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Høj","it":"Alta","ko":"고속","pl":"Wysoka","ru":"Высокая","sv":"Hög","es":"Alta","fr":"Rapide","no":"Høy"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"laundry_washer_speed_changed","highlight":true,"title":{"en":"The speed changed to","nl":"Het toerental is veranderd in","da":"Hastigheden blev ændret til","it":"La velocità è passata a","ko":"세탁 속도가 다음으로 변경되면","pl":"Prędkość zmieniła się na","ru":"Скорость изменена на","sv":"Hastigheten ändrades till","es":"La velocidad ha cambiado a","fr":"La vitesse du lave-linge est passée à","no":"Hastigheten ble endret til"},"args":[{"name":"speed","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"laundry_washer_speed_is","title":{"en":"The speed !{{is|is not}}","nl":"Het toerental !{{is|is niet}}","da":"Hastigheden !{{er|er ikke}}","it":"La velocità !{{è|non è}}","ko":"세탁 속도가 다음!{{이면|이 아니면}}","pl":"Prędkość !{{jest|nie jest}}","ru":"Скорость !{{|не}}","sv":"Hastigheten !{{är|är inte}}","es":"La velocidad !{{está|no está}}","fr":"La vitesse du lave-linge !{{est|n\'est pas}}","no":"Hastigheten !{{er|er ikke}}"},"args":[{"name":"speed","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_laundry_washer_speed","title":{"en":"Set the speed to","nl":"Het toerental instellen op","da":"Indstil hastigheden til","it":"Imposta la velocità su","ko":"세탁 속도를 다음으로 설정","pl":"Ustaw prędkość na","ru":"Установить скорость на","sv":"Ställ in hastigheten på","es":"Ajustar la velocidad a","fr":"Définir la vitesse du lave-linge sur","no":"Sett hastigheten til"},"args":[{"name":"speed","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Air quality level","nl":"Luchtkwaliteitsniveau","da":"Luftkvalitetsniveau","it":"Livello di qualità dell\'aria","ko":"공기질","pl":"Poziom jakości powietrza","ru":"Уровень качества воздуха","sv":"Luftkvalitetsnivå","es":"Nivel de calidad del aire","fr":"Niveau de qualité de l\'air","no":"Luftkvalitetsnivå"},"desc":{"en":"The air quality index represented as a level.","nl":"De luchtkwaliteitsindex weergegeven als niveau.","da":"Luftkvalitetsindekset repræsenteret som et niveau.","es":"Índice de calidad del aire representado como nivel.","it":"L\'indice di qualità dell\'aria rappresentato come un livello.","ko":"수준으로 표현한 공기질 지수입니다.","pl":"Wskaźnik jakości powietrza przedstawiony jako poziom.","ru":"Показатель качества воздуха, представленный в виде уровня.","sv":"Luftkvalitetsindexet representeras som en nivå.","fr":"L\'indice de qualité de l\'air représenté sous forme de niveau.","no":"Luftkvalitetsindeksen uttrykt som et nivå."},"values":[{"id":"good","title":{"en":"Good","nl":"Goed","da":"Godt","it":"Buono","ko":"좋음","pl":"Dobry","ru":"Хороший","sv":"Bra","es":"Bueno","fr":"Bon","no":"God"}},{"id":"fair","title":{"en":"Fair","da":"Dårligt","es":"Deficiente","fr":"Mauvais","it":"Scarso","ko":"적당","nl":"Slecht","no":"Dårlig","pl":"Niski","ru":"Плохой","sv":"Dålig"}},{"id":"moderate","title":{"en":"Moderate","da":"Meget dårligt","es":"Muy deficiente","fr":"Très mauvais","it":"Molto scarso","ko":"보통","nl":"Zeer slecht","no":"Svært dårlig","pl":"Bardzo niski","ru":"Очень плохой","sv":"Mycket dålig"}},{"id":"poor","title":{"en":"Poor","nl":"Slecht","da":"Dårligt","it":"Scarso","ko":"나쁨","pl":"Niski","ru":"Плохой","sv":"Dålig","es":"Deficiente","fr":"Mauvais","no":"Dårlig"}},{"id":"very_poor","title":{"en":"Very Poor","nl":"Zeer slecht","da":"Meget dårligt","it":"Molto scarso","ko":"매우 나쁨","pl":"Bardzo niski","ru":"Очень плохой","sv":"Mycket dålig","es":"Muy deficiente","fr":"Très mauvais","no":"Svært dårlig"}},{"id":"extremely_poor","title":{"en":"Extremely Poor","nl":"Extreem slecht","da":"Ekstremt dårligt","it":"Estremamente scarso","ko":"극도로 나쁨","pl":"Skrajnie niski","ru":"Чрезвычайно плохой","sv":"Extremt dålig","es":"Extremadamente deficiente","fr":"Extrêmement mauvais","no":"Ekstremt dårlig"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_aqi_changed","highlight":true,"title":{"en":"The air quality level changed to","nl":"Het luchtkwaliteitsniveau is veranderd naar","da":"Luftkvalitetsniveauet blev ændret til","it":"Il livello di qualità dell\'aria è passato a","ko":"공기질이 다음으로 변경되면","pl":"Poziom jakości powietrza zmienił się na","ru":"Уровень качества воздуха изменился на","sv":"Luftkvalitetsnivån ändrades till","es":"El nivel de calidad del aire ha cambiado a","fr":"Le niveau de qualité de l\'air est passé à","no":"Luftkvalitetsnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_aqi_is","title":{"en":"The air quality !{{is|is not}}","nl":"De luchtkwaliteit !{{is|is niet}}","da":"Luftkvaliteten !{{er|er ikke}}","it":"La qualità dell\'aria !{{è|non è}}","ko":"공기질이 다음!{{이면|이 아니면}}","pl":"Jakość powietrza !{{jest|nie jest}}","ru":"Качество воздуха !{{|не}}","sv":"Luftkvaliteten !{{är|är inte}}","es":"La calidad del aire !{{es|no es}}","fr":"La qualité de l\'air !{{est|n\'est pas}}","no":"Luftkvaliteten !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Carbon filter level","nl":"Koolstoffilterniveau","da":"Niveau for kulfilter","it":"Livello filtro a carbone","ko":"카본 필터 상태","pl":"Poziom filtra węglowego","ru":"Уровень угольного фильтра","sv":"Kolfilternivå","es":"Nivel de filtro de carbono","fr":"Niveau du filtre à charbon","no":"Karbonfilternivå"},"desc":{"en":"The level of degredation on the active carbon filter.","nl":"De mate van aantasting van het actieve koolstoffilter.","da":"Niveauet af nedbrydning på det aktive kulfilter.","it":"Il livello di degradazione del filtro a carbone attivo.","ko":"활성탄 필터의 백화 수준입니다.","pl":"Poziom degradacji filtra z węglem aktywnym.","ru":"Уровень снижения производительности фильтра с активированным углем.","sv":"Graden av nedbrytning på det aktiva kolfiltret.","es":"El nivel de degradación del filtro de carbón activo.","fr":"Le niveau de dégradation du filtre à charbon actif.","no":"Nedbrytingsnivået for filteret med aktivt kull."},"values":[{"id":"ok","title":{"en":"OK","nl":"OK","da":"OK","it":"OK","ko":"좋음","pl":"OK","ru":"Нормальный","sv":"OK","es":"Correcto","fr":"OK","no":"OK"}},{"id":"warning","title":{"en":"Warning","nl":"Waarschuwing","da":"Advarsel","it":"Attenzione","ko":"주의","pl":"Ostrzeżenie","ru":"Требующий внимания","sv":"Varning","es":"Advertencia","fr":"Avertissement","no":"Advarsel"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"교체 필요","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_carbon_filter_changed","highlight":true,"title":{"en":"The carbon filter level changed to","nl":"Het koolstoffilterniveau is veranderd in","da":"Kulfilterniveauet blev ændret til","it":"Il livello del filtro al carbone è passato a","ko":"카본 필터 상태가 다음으로 변경되면","pl":"Poziom filtra węglowego zmienił się na","ru":"Уровень угольного фильтра изменился на","sv":"Kolfilternivån ändrades till","es":"El nivel del filtro de carbón ha cambiado a","fr":"Le niveau du filtre à charbon est passé à","no":"Karbonfilternivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_carbon_filter_is","title":{"en":"The carbon filter level !{{is|is not}}","nl":"Het koolstoffilterniveau !{{is|is niet}}","da":"Niveauet for kulfilteret !{{er|er ikke}}","it":"Il livello del filtro a carbone !{{è|non è}}","ko":"카본 필터 상태가 다음!{{이면|이 아니면}}","pl":"Poziom filtra węglowego !{{jest|nie jest}}","ru":"Уровень угольного фильтра !{{|не}}","sv":"Kolfilternivån !{{är|är inte}}","es":"El nivel del filtro de carbono !{{es|no es}}","fr":"Le niveau du filtre à charbon !{{est|n\'est pas}}","no":"Karbonfilternivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Formaldehyde Level","nl":"Formaldehydeniveau","da":"Formaldehydniveau","it":"Livello di formaldeide","ko":"포름알데히드 수준","pl":"Poziom formaldehydu","ru":"Уровень формальдегида","sv":"Formaldehydnivå","es":"Nivel de formaldehído","fr":"Niveau de formaldéhyde","no":"Formaldehydnivå"},"desc":{"en":"The level of formaldehyde in the air.","nl":"De mate van formaldehyde in de lucht.","da":"Niveauet af formaldehyd i luften.","it":"Il livello di formaldeide nell\'aria.","ko":"공기 중 포름알데히드의 수준입니다.","pl":"Poziom formaldehydu w powietrzu.","ru":"Уровень содержания формальдегида в воздухе.","sv":"Halten av formaldehyd i luften.","es":"El nivel de formaldehído en el aire.","fr":"Le niveau de formaldéhyde dans l\'air.","no":"Nivået av formaldehyd i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_ch2o_changed","highlight":true,"title":{"en":"The formaldehyde level changed to","nl":"Het formaldehydeniveau is veranderd naar","da":"Formaldehydniveauet blev ændret til","it":"Il livello di formaldeide è passato a","ko":"포름알데히드 수준이 다음으로 변경되면","pl":"Poziom formaldehydu zmienił się na","ru":"Уровень формальдегида изменился на","sv":"Formaldehydnivån ändrades till","es":"El nivel de formaldehído ha cambiado a","fr":"Le niveau de formaldéhyde est passé à","no":"Formaldehydnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_ch2o_is","title":{"en":"The formaldehyde level !{{is|is not}}","nl":"Het formaldehydeniveau !{{is|is niet}}","da":"Niveauet af formaldehyd !{{er|er ikke}}","it":"Il livello di formaldeide !{{è|non è}}","ko":"포름알데히드 수준이 다음!{{이면|이 아니면}}","pl":"Poziom formaldehydu !{{jest|nie jest}}","ru":"Уровень формальдегида !{{|не}}","sv":"Nivån av formaldehyd !{{är|är inte}}","es":"El nivel de formaldehído !{{es|no es}}","fr":"Le taux de formaldéhyde !{{est|n\'est pas}}","no":"Formaldehydnivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"CO level","nl":"CO-niveau","da":"CO-niveau","it":"Livello di CO","ko":"일산화탄소(CO) 수준","pl":"Poziom CO","ru":"Уровень CO","sv":"CO-nivå","es":"Nivel de monóxido de carbono","fr":"Niveau de CO","no":"CO-nivå"},"desc":{"en":"The level of CO in the air.","nl":"De mate van CO in de lucht.","da":"Niveauet af CO i luften.","it":"Il livello di CO nell\'aria.","ko":"공기 중 CO의 수준입니다.","pl":"Poziom tlenku węgla w powietrzu.","ru":"Уровень содержания CO в воздухе.","sv":"Halten av CO i luften.","es":"El nivel de monóxido de carbono en el aire.","fr":"Le niveau de CO dans l\'air.","no":"Nivået av CO i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_co_changed","highlight":true,"title":{"en":"The CO level changed to","nl":"Het CO-niveau is veranderd naar","da":"CO-niveauet blev ændret til","it":"Il livello di CO è passato a","ko":"일산화탄소(CO) 수준이 다음으로 변경되면","pl":"Poziom CO zmienił się na","ru":"Уровень СО изменился на","sv":"CO-nivån ändrades till","es":"El nivel de monóxido de carbono ha cambiado a","fr":"Le niveau de CO est passé à","no":"CO-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_co_is","title":{"en":"The CO level !{{is|is not}}","nl":"Het CO-niveau !{{is|is niet}}","da":"CO-niveauet !{{er|er ikke}}","it":"Il livello di CO !{{è|non è}}","ko":"일산화탄소(CO) 수준이 다음!{{이면|이 아니면}}","pl":"Poziom CO !{{jest|nie jest}}","ru":"Уровень CO !{{|не}}","sv":"CO-nivån !{{är|är inte}}","es":"El nivel de monóxido de carbono !{{es|no es}}","fr":"Le niveau de CO !{{est|n\'est pas}}","no":"CO-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"CO2 Level","nl":"CO2-niveau","da":"CO2-niveau","it":"Livello di CO2","ko":"이산화탄소(CO2) 수준","pl":"Poziom CO2","ru":"Уровень CO2","sv":"CO2-nivå","es":"Nivel de CO2","fr":"Niveau de CO2","no":"CO2-nivå"},"desc":{"en":"The level of CO2 in the air.","nl":"De mate van CO2 in de lucht.","da":"Niveauet af CO2 i luften.","it":"Il livello di CO2 nell\'aria.","ko":"공기 중 CO2의 수준입니다.","pl":"Poziom dwutlenku węgla w powietrzu.","ru":"Уровень содержания CO2 в воздухе.","sv":"Halten av CO2 i luften.","es":"El nivel de CO2 en el aire.","fr":"Le niveau de CO2 dans l\'air.","no":"Nivået av CO2 i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"좋음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"나쁨","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"매우 나쁨","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_co2_changed","highlight":true,"title":{"en":"The CO2 level changed to","nl":"Het CO2-niveau is veranderd naar","da":"CO2-niveauet blev ændret til","it":"Il livello di CO2 è passato a","ko":"이산화탄소(CO2) 수준이 다음으로 변경되면","pl":"Poziom CO2 zmienił się na","ru":"Уровень CO2 изменился на","sv":"CO2-nivån ändrades till","es":"El nivel de CO2 ha cambiado a","fr":"Le niveau de CO2 est passé à","no":"CO2-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_co2_is","title":{"en":"The CO2 level !{{is|is not}}","nl":"Het CO2-niveau !{{is|is niet}}","da":"CO2-niveauet !{{er|er ikke}}","it":"Il livello di CO2 !{{è|non è}}","ko":"이산화탄소(CO2) 수준이 다음!{{이면|이 아니면}}","pl":"Poziom CO2 !{{jest|nie jest}}","ru":"Уровень CO2 !{{|не}}","sv":"CO2-nivån !{{är|är inte}}","es":"El nivel de CO2 !{{es|no es}}","fr":"Le taux de CO2 !{{est|n\'est pas}}","no":"CO2-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"HEPA filter level","nl":"HEPA-filterniveau","da":"Niveau for HEPA-filter","it":"Livello del filtro HEPA","ko":"헤파 필터 상태","pl":"Poziom filtra HEPA","ru":"Уровень HEPA-фильтра","sv":"HEPA-filternivå","es":"Nivel del filtro HEPA","fr":"Niveau du filtre HEPA","no":"HEPA-filternivå"},"desc":{"en":"The level of degredation on the HEPA filter.","nl":"De mate van aantasting van het HEPA-filter.","da":"Niveauet af nedbrydning på HEPA-filteret.","it":"Il livello di degradazione del filtro HEPA.","ko":"HEPA 필터의 오염 수준입니다.","pl":"Poziom degradacji filtra HEPA.","ru":"Уровень снижения производительности HEPA-фильтра.","sv":"Graden av nedbrytning på HEPA-filtret.","es":"El nivel de degradación del filtro HEPA.","fr":"Le niveau de dégradation du filtre HEPA.","no":"Nedbrytingsnivået for HEPA-filteret."},"values":[{"id":"ok","title":{"en":"OK","nl":"OK","da":"OK","it":"OK","ko":"좋음","pl":"OK","ru":"Нормальный","sv":"OK","es":"Correcto","fr":"OK","no":"OK"}},{"id":"warning","title":{"en":"Warning","nl":"Waarschuwing","da":"Advarsel","it":"Attenzione","ko":"주의","pl":"Ostrzeżenie","ru":"Требующий внимания","sv":"Varning","es":"Advertencia","fr":"Avertissement","no":"Advarsel"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"교체 필요","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_hepa_filter_changed","highlight":true,"title":{"en":"The HEPA filter level changed to","nl":"Het HEPA-filterniveau is veranderd naar","da":"HEPA-filterets niveau blev ændret til","it":"Il livello del filtro HEPA è passato a","ko":"헤파 필터 상태가 다음으로 변경되면","pl":"Poziom filtra HEPA zmienił się na","ru":"Уровень HEPA-фильтра изменился на","sv":"HEPA-filternivån ändrades till","es":"El filtro HEPA ha cambiado a","fr":"Le niveau du filtre HEPA est passé à","no":"HEPA-filternivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_hepa_filter_is","title":{"en":"The HEPA filter level !{{is|is not}}","nl":"Het HEPA-filterniveau !{{is|is niet}}","da":"HEPA-filterets niveau !{{er|er ikke}}","it":"Il livello del filtro HEPA !{{è|non è}}","ko":"헤파 필터 상태가 다음!{{이면|이 아니면}}","pl":"Poziom filtra HEPA !{{jest|nie jest}}","ru":"Уровень фильтра HEPA !{{|не}}","sv":"HEPA-filternivån !{{är|är inte}}","es":"El nivel del filtro HEPA !{{es|no es}}","fr":"Le niveau du filtre HEPA !{{est|n\'est pas}}","no":"HEPA-filternivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"NOx level","nl":"NOx-niveau","da":"NOx-niveau","it":"Livello di NOx","ko":"질소산화물 수준","pl":"Poziom NOx","ru":" Уровень NOx","sv":"NOx-nivå","es":"Nivel de NOx","fr":"Niveau de NOx","no":"NOx-nivå"},"desc":{"en":"The level of nitrogen oxides in the air.","nl":"De mate van stikstofoxiden in de lucht.","da":"Niveauet af nitrogenoxider i luften.","it":"Il livello di ossidi di azoto nell\'aria.","ko":"공기 중 질소 산화물 수준입니다.","pl":"Poziom tlenków azotu w powietrzu.","ru":"Уровень содержания оксидов азота в воздухе.","sv":"Halten av kväveoxider i luften.","es":"El nivel de óxidos de nitrógeno en el aire.","fr":"Le niveau d\'oxydes d\'azote dans l\'air.","no":"Nitrogenoksidnivået i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_nox_changed","highlight":true,"title":{"en":"The NOx level changed to","nl":"Het NOx-niveau is veranderd naar","da":"NOx-niveauet blev ændret til","it":"Il livello di NOx è passato a","ko":"질소산화물 수준이 다음으로 변경되면","pl":"Poziom NOx zmienił się na","ru":"Уровень NOx изменился на","sv":"NOx-nivån ändrades till","es":"El nivel de NOx ha cambiado a","fr":"Le niveau de NOx est passé à","no":"NOx-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_nox_is","title":{"en":"The NOx level !{{is|is not}}","nl":"Het NOx-niveau !{{is|is niet}}","da":"NOx-niveauet !{{er|er ikke}}","it":"Il livello di NOx !{{è|non è}}","ko":"질소산화물 수준이 다음!{{이면|이 아니면}}","pl":"Poziom NOx !{{jest|nie jest}}","ru":"Уровень NOx !{{|не}}","sv":"NOx-nivån !{{är|är inte}}","es":"El nivel de NOx !{{es|no es}}","fr":"Le niveau de NOx !{{est|n\'est pas}}","no":"NOx-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Ozone Level","nl":"Ozonniveau","da":"Ozon-niveau","it":"Livello di ozono","ko":"오존 수준","pl":"Poziom ozonu","ru":"Уровень озона","sv":"Ozonnivå","es":"Nivel de ozono","fr":"Niveau d\'ozone","no":"Ozonnivå"},"desc":{"en":"The level of ozone in the air.","nl":"De mate van ozon in de lucht.","da":"Niveauet af ozon i luften.","it":"Il livello di ozono nell\'aria.","ko":"공기 중 오존 수준입니다.","pl":"Poziom ozonu w powietrzu.","ru":"Уровень содержания озона в воздухе.","sv":"Halten av ozon i luften.","es":"El nivel de ozono en el aire.","fr":"Le niveau d\'ozone dans l\'air.","no":"Nivået av ozon i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk\\n"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_o3_changed","highlight":true,"title":{"en":"The ozone level changed to","nl":"Het ozonniveau is veranderd naar","da":"Ozonniveauet ændrede sig til","it":"Il livello di ozono è passato a","ko":"오존 수준이 다음으로 변경되면","pl":"Poziom ozonu zmienił się na","ru":"Уровень озона изменился на","sv":"Ozonnivån ändrades till","es":"El nivel de ozono ha cambiado a","fr":"Le niveau d\'ozone est passé à","no":"Ozonnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_o3_is","title":{"en":"The ozone level !{{is|is not}}","nl":"Het ozonniveau !{{is|is niet}}","da":"Ozonniveauet !{{er|er ikke}}","it":"Il livello di ozono !{{è|non è}}","ko":"오존 수준이 다음!{{이면|이 아니면}}","pl":"Poziom ozonu !{{jest|nie jest}}","ru":"Уровень озона !{{|не}}","sv":"Ozonnivån !{{är|är inte}}","es":"El nivel de ozono !{{es|no es}}","fr":"Le niveau d\'ozone !{{est|n\'est pas}}","no":"Ozonnivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM0.1 level","nl":"PM0.1-niveau","da":"PM0.1-niveau","it":"Livello PM0.1","ko":"나노미세먼지(PM0.1) 수준","pl":"Poziom PM0.1","ru":"Уровень ТЧ0.1","sv":"PM0.1-nivå","es":"Nivel de PM0,1","fr":"Niveau de PM0.1","no":"PM0.1-nivå"},"desc":{"en":"The level of PM0.1 particles in the air.","nl":"De mate van PM0.1-deeltjes in de lucht.","da":"Niveauet af PM0.1-partikler i luften.","it":"Il livello di particelle PM0.1 nell\'aria.","ko":"공기 중 PM0.1 입자의 수준입니다.","pl":"Poziom cząstek PM0.1 w powietrzu.","ru":"Уровень содержания частиц ТЧ0.1 в воздухе.","sv":"Halten av PM0.1-partiklar i luften.","es":"El nivel de partículas PM0,1 en el aire.","fr":"Le niveau de particules PM0.1 dans l\'air.","no":"Nivået av PM0.1-partikler i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"좋음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"나쁨","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"매우 나쁨","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm01_changed","highlight":true,"title":{"en":"The PM0.1 level changed to","nl":"Het PM0.1-niveau is veranderd naar","da":"PM0.1-niveauet blev ændret til","it":"Il livello PM0.1 è passato a","ko":"나노미세먼지(PM0.1) 수준이 다음으로 변경되면","pl":"Poziom PM0.1 zmienił się na","ru":"Уровень ТЧ0.1 изменился на","sv":"PM0.1-nivån ändrades till","es":"El nivel de PM0,1 ha cambiado a","fr":"Le niveau de PM0.1 est passé à","no":"PM0.1-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm01_is","title":{"en":"The PM0.1 level !{{is|is not}}","nl":"Het PM0.1-niveau !{{is|is niet}}","da":"PM0.1-niveauet !{{er|er ikke}}","it":"Il livello PM0.1 !{{è|non è}}","ko":"나노미세먼지(PM0.1) 수준이 다음!{{이면|이 아니면}}","pl":"Poziom PM0.1 {{jest|nie jest}}","ru":"Уровень ТЧ0.1 !{{|не}}","sv":"PM0.1-nivån !{{är|är inte}}","es":"El nivel de PM0,1 !{{es|no es}}","fr":"Le niveau PM0.1 !{{est|n\'est pas}}","no":"PM0.1-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM1 level","nl":"PM1-niveau","da":"PM1-niveau","it":"Livello PM1","ko":"극초미세먼지(PM1.0) 수준","pl":"Poziom PM1","ru":"Уровень ТЧ1","sv":"PM1-nivå","es":"Nivel de PM1","fr":"Niveau de PM1","no":"PM1-nivå"},"desc":{"en":"The amount of PM1 particles in the air represented by a level.","nl":"De hoeveelheid PM1-deeltjes in de lucht weergegeven als niveau.","da":"Mængden af PM1-partikler i luften repræsenteret ved et niveau.","es":"La cantidad de partículas PM1 en el aire representada por un nivel.","it":"La quantità di particelle PM1 nell\'aria rappresentata da un livello.","ko":"수준으로 표현한 공기 중 PM1 입자의 양입니다.","pl":"Ilość cząstek PM1 w powietrzu przedstawiona jako poziom.","ru":"Количество частиц ТЧ1 в воздухе, представленное в виде уровня.","sv":"Mängden PM1-partiklar i luften som representeras av en nivå.","fr":"La quantité de particules PM1 dans l\'air représentée sous forme de niveau.","no":"Mengden av PM1-partikler i luften uttrykt som et nivå."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"좋음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen\\n","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"나쁨","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"매우 나쁨","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm1_changed","highlight":true,"title":{"en":"The PM1 level changed to","nl":"Het PM1-niveau is veranderd naar","da":"PM1-niveauet blev ændret til","it":"Il livello PM1 è passato a","ko":"극초미세먼지(PM1.0) 수준이 다음으로 변경되면","pl":"Poziom PM1 zmienił się na","ru":"Уровень ТЧ1 изменился на","sv":"PM1-nivån ändrades till","es":"El nivel de PM1 ha cambiado a","fr":"Le niveau PM1 est passé à","no":"PM1-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm1_is","title":{"en":"The PM1 level !{{is|is not}}","nl":"Het PM1-niveau is !{{is|is niet}}","da":"PM1-niveauet !{{er|er ikke}}","it":"Il livello PM1 !{{è|non è}}","ko":"극초미세먼지(PM1.0) 수준이 다음!{{이면|이 아니면}}","pl":"Poziom PM1 !{{jest|nie jest}}","ru":"Уровень ТЧ1 !{{|не}}","sv":"PM1-nivån !{{är|är inte}}","es":"El nivel de PM1 !{{es|no es}}","fr":"Le niveau PM1 !{{est|n\'est pas}}","no":"PM1-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM10 level","nl":"PM10-niveau","da":"PM10-niveau","it":"Livello di PM10","ko":"미세먼지(PM10) 수준","pl":"Poziom PM10","ru":"Уровень ТЧ10","sv":"PM10-nivå","es":"Nivel de PM10","fr":"Niveau de PM10","no":"PM10-nivå"},"desc":{"en":"The level of PM10 particles in the air.","nl":"De mate van PM10-deeltjes in de lucht.","da":"Niveauet af PM10-partikler i luften.","it":"Il livello di particelle PM10 nell\'aria.","ko":"공기 중 PM10 입자의 수준입니다.","pl":"Poziom cząstek PM10 w powietrzu.","ru":"Уровень содержания частиц ТЧ10 в воздухе.","sv":"Halten av PM10-partiklar i luften.","es":"El nivel de partículas PM10 en el aire.","fr":"Le niveau de particules PM10 dans l\'air.","no":"Nivået av PM10-partikler i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"좋음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"나쁨","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"매우 나쁨","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm10_changed","highlight":true,"title":{"en":"The PM10 level changed to","nl":"Het PM10-niveau is veranderd naar","da":"PM10-niveauet blev ændret til","it":"Il livello di PM10 è passato a","ko":"미세먼지(PM10) 수준이 다음으로 변경되면","pl":"Poziom PM10 zmienił się na","ru":"Уровень ТЧ10 изменился на","sv":"PM10-nivån ändrades till","es":"El nivel de PM10 ha cambiado a","fr":"Le niveau de PM10 est passé à","no":"PM10-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm10_is","title":{"en":"The PM10 level !{{is|is not}}","nl":"Het PM10-niveau !{{is|is niet}}","da":"PM10-niveauet !{{er|er ikke}}","it":"Il livello di PM10 !{{è|non è}}","ko":"미세먼지(PM10) 수준이 다음!{{이면|이 아니면}}","pl":"Poziom PM10 !{{jest|nie jest}}","ru":"Уровень ТЧ10 !{{|не}}","sv":"PM10-nivån !{{är|är inte}}","es":"El nivel de PM10 !{{es|no es}}","fr":"Le niveau de PM10 !{{est|n\'est pas}}","no":"PM10-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"PM2.5 Level","nl":"PM2.5-niveau","da":"PM2.5-niveau","it":"Livello PM2.5","ko":"초미세먼지(PM2.5) 수준","pl":"Poziom PM2.5","ru":"Уровень ТЧ2.5","sv":"PM2.5-nivå","es":"Nivel de PM2,5","fr":"Niveau de PM2.5","no":"PM2.5-nivå"},"desc":{"en":"The level of PM2.5 particles in the air.","nl":"De mate van PM2.5-deeltjes in de lucht.","da":"Niveauet af PM2.5-partikler i luften.","it":"Il livello di particelle PM2.5 nell\'aria.","ko":"공기 중 PM2.5 입자의 수준입니다.","pl":"Poziom cząstek PM2.5 w powietrzu.","ru":"Уровень содержания частиц ТЧ2.5 в воздухе.","sv":"Halten av PM2.5-partiklar i luften.","es":"El nivel de partículas PM2,5 en el aire.","fr":"Le niveau de particules PM2.5 dans l\'air.","no":"Nivået av PM2.5-partikler i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","ko":"좋음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"나쁨","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"매우 나쁨","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_pm25_changed","highlight":true,"title":{"en":"The PM2.5 level changed to","nl":"Het PM2.5-niveau is veranderd naar","da":"PM2.5-niveauet blev ændret til","it":"Il livello di PM2.5 è passato a","ko":"초미세먼지(PM2.5) 수준이 다음으로 변경되면","pl":"Poziom PM2.5 zmienił się na","ru":"Уровень ТЧ2.5 изменился на","sv":"PM2.5-nivån ändrades till","es":"El nivel de PM2,5 ha cambiado a","fr":"Le niveau de PM2.5 est passé à","no":"PM2.5-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_pm25_is","title":{"en":"The PM2.5 level !{{is|is not}}","nl":"Het PM2.5-niveau !{{is|is niet}}","da":"PM2.5-niveauet !{{er|er ikke}}","it":"Il livello di PM2.5 !{{è|non è}}","ko":"초미세먼지(PM2.5) 수준이 다음!{{이면|이 아니면}}","pl":"Poziom PM2.5 !{{jest|nie jest}}","ru":"Уровень ТЧ2.5 !{{|не}}","sv":"PM2.5-nivån !{{är|är inte}}","es":"El nivel de PM2,5 !{{es|no es}}","fr":"Le niveau de PM2.5 !{{est|n\'est pas}}","no":"PM2.5-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Radon Level","nl":"Radonniveau","da":"Radon-niveau","it":"Livello di radon","ko":"라돈 수준","pl":"Poziom radonu","ru":"Уровень радона","sv":"Radonnivå","es":"Nivel de radón","fr":"Niveau de radon","no":"Radonnivå"},"desc":{"en":"The level of radioactive radon gas in the air.","nl":"De mate van radioactief radongas in de lucht.","da":"Niveauet af radioaktiv radongas i luften.","it":"Il livello di gas radon radioattivo nell\'aria.","ko":"공기 중 방사성 라돈 기체의 수준입니다.","pl":"Poziom radioaktywnego radonu w powietrzu.","ru":"Уровень содержания радиоактивного радона в воздухе.","sv":"Halten av radioaktiv radongas i luften.","es":"El nivel de gas radón radiactivo en el aire.","fr":"Le niveau de radon radioactif dans l\'air.","no":"Nivået av radioaktiv radongass i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_radon_changed","highlight":true,"title":{"en":"The radon level changed to","nl":"Het radonniveau is veranderd naar","da":"Radonniveauet ændrede sig til","it":"Il livello di radon è passato a","ko":"라돈 수준이 다음으로 변경되면","pl":"Poziom radonu zmienił się na","ru":"Уровень радона изменился на","sv":"Radonnivån ändrades till","es":"El nivel de radón ha cambiado a","fr":"Le niveau de radon est passé à","no":"Radonnivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_radon_is","title":{"en":"The radon level !{{is|is not}}","nl":"Het radonniveau !{{is|is niet}}","da":"Radonniveauet !{{er|er ikke}}","it":"Il livello di radon !{{è|non è}}","ko":"라돈 수준이 다음!{{이면|이 아니면}}","pl":"Poziom radonu !{{jest|nie jest}}","ru":"Уровень радона !{{|не}}","sv":"Radonnivån !{{är|är inte}}","es":"El nivel de radón !{{es|no es}}","fr":"Le niveau de radon !{{est|n\'est pas}}","no":"Radonnivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"SO2 Level","nl":"SO2-Niveau","da":"SO2-niveau","it":"Livello di SO2","ko":"이산화황 수준","pl":"Poziom SO2","ru":"Уровень SO2","sv":"SO2-nivå","es":"Nivel de SO2","fr":"Niveau de SO2","no":"SO2-nivå"},"desc":{"en":"The level of sulfur dioxide in the air.","nl":"De mate van zwaveldioxide in de lucht.","da":"Niveauet af svovldioxid i luften.","it":"Il livello di anidride solforosa nell\'aria.","ko":"공기 중 이산화황의 수준입니다.","pl":"Poziom dwutlenku siarki w powietrzu.","ru":"Уровень содержания диоксида серы в воздухе.","sv":"Halten av svaveldioxid i luften.","es":"El nivel de dióxido de azufre en el aire.","fr":"Le niveau de dioxyde de soufre dans l\'air.","no":"Nivået av svoveldioksid i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"\\n","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_so2_changed","highlight":true,"title":{"en":"The SO2 level changed to","nl":"Het SO2-niveau is veranderd naar","da":"SO2-niveauet blev ændret til","it":"Il livello di SO2 è passato a","ko":"이산화황 수준이 다음으로 변경되면","pl":"Poziom SO2 zmienił się na","ru":"Уровень SO2 изменился yf","sv":"SO2-nivån ändrades till","es":"El nivel de SO2","fr":"Le niveau de SO2 est passé à","no":"SO2-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_so2_is","title":{"en":"The SO2 level !{{is|is not}}","nl":"Het SO2-niveau !{{is|is niet}}","da":"SO2-niveauet !{{er|er ikke}}","it":"Il livello di SO2 !{{è|non è}}","ko":"이산화황 수준이 다음!{{이면|이 아니면}}","pl":"Poziom SO2 !{{jest|nie jest}}","ru":"Уровень SO2 !{{|не}}","sv":"SO2-nivån !{{är|är inte}}","es":"El nivel de SO2 !{{es|no es}}","fr":"Le niveau de SO2 !{{est|n\'est pas}}","no":"SO2-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"TVOC Level","nl":"TVOC-niveau","da":"TVOC-niveau","it":"Livello di TVOC","ko":"총휘발성유기화합물 수준","pl":"Poziom wszystkich LZO","ru":"Уровень TVOC","sv":"TVOC-nivå","es":"Nivel de TVOC","fr":"Niveau de COVT","no":"TVOC-nivå"},"desc":{"en":"The level of total volatile organic compounds in the air.","nl":"De mate van totaal vluchtige organische stoffen in de lucht.","da":"Niveauet af samlede flygtige organiske forbindelser i luften.","it":"Il livello di composti organici volatili totali nell\'aria.","ko":"공기 중 휘발성 유기 화합물의 총량 수준입니다.","pl":"Poziom wszystkich lotnych związków organicznych w powietrzu.","ru":"Уровень общего содержания летучих органических соединений в воздухе.","sv":"Halten av totala mängden flyktiga organiska föreningar i luften.","es":"El nivel de compuestos orgánicos volátiles totales en el aire.","fr":"Le niveau de composés organiques volatils totaux dans l\'air.","no":"Nivået av total mengde flyktige organiske forbindelser i luften."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lavt","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Højt","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}},{"id":"critical","title":{"en":"Critical","nl":"Kritiek","da":"Kritisk","it":"Critico","ko":"위험","pl":"Krytyczny","ru":"Критический","sv":"Kritisk","es":"Crítico","fr":"Critique","no":"Kritisk"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"level_tvoc_changed","highlight":true,"title":{"en":"The TVOC level changed to","nl":"Het TVOC-niveau is veranderd naar","da":"TVOC-niveauet blev ændret til","it":"Il livello di TVOC è passato a","ko":"총휘발성유기화합물 수준이 다음으로 변경되면","pl":"Poziom wszystkich LZO zmienił się na","ru":"Уровень TVOC изменился на","sv":"TVOC-nivån ändrades till","es":"El nivel de COVT ha cambiado a","fr":"Le niveau en COVT est passé à","no":"TVOC-nivået ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"level_tvoc_is","title":{"en":"The TVOC level !{{is|is not}}","nl":"Het TVOC-niveau !{{is|is niet}}","da":"TVOC-niveauet !{{er|er ikke}}","it":"Il livello di TVOC !{{è|non è}}","ko":"총휘발성유기화합물 수준이 다음!{{이면|이 아니면}}","pl":"Poziom wszystkich LZO !{{jest|nie jest}}","ru":"Уровень TVOC !{{|не}}","sv":"TVOC-nivån !{{är|är inte}}","es":"El nivel de TVOC !{{es|no es}}","fr":"Le niveau de COVT !{{est|n\'est pas}}","no":"TVOC-nivået !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Hue","nl":"Tint","de":"Farbton","fr":"Teinte","it":"Tonalità","sv":"Nyans","no":"Fargetone","es":"Tonalidad","da":"Farvetone","ru":"Оттенок","pl":"Odcień","ko":"색상"},"min":0,"chartType":"stepLine","max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"color","$flow":{"actions":[{"id":"hue","title":{"en":"Set the hue","nl":"Verander kleurtint","de":"Den Farbton setzen","fr":"Définir la teinte","it":"Imposta la tonalità","sv":"Ställ in nyans","no":"Innstill fargetone","es":"Configurar la tonalidad","da":"Indstil farvetonen","ru":"Установить оттенок","pl":"Ustaw odcień","ko":"색상 설정"},"hint":{"en":"Select a color from the hue scale, for example red (0°/360°), yellow (60°), or blue (180°).","nl":"Selecteer een kleurtint van de hue schaal, bijvoorbeeld rood (0°/360°), geel (60°), of blauw (180°).","ru":"Выберите цвет из шкалы оттенков, например красный (0°/360°), желтый (60°) или синий (180°).","pl":"Wybierz barwę ze skali odcieni: np. czerwień (0°/360°), żółty (60°) lub niebieski (180°).","ko":"색상 스케일에서 색상을 선택하세요. 빨간색은 (0°/360°), 노란색은 (60°), 파란색은 (180°)이에요.","no":"Velg en farge fra fargeskalaen, for eksempel rød (0°/360°), gul (60°) eller blå (180°)."},"args":[{"name":"hue","type":"range","min":0,"max":1,"step":0.01,"value":0,"label":"°","labelMultiplier":360,"labelDecimals":0}]},{"id":"color","title":{"en":"Set a color","nl":"Verander naar kleur","de":"Eine Farbe setzen","fr":"Définir la couleur","it":"Imposta un colore","sv":"Ställ in en färg","no":"Innstill fargetone","es":"Configurar un color","da":"Indstil en farve","ru":"Установить цвет","pl":"Ustaw barwę","ko":"색상 설정"},"args":[{"name":"color","type":"color"}]},{"id":"color_random","title":{"en":"Set a random color","nl":"Verander naar een willekeurige kleur","de":"Eine zufällige Farbe setzen","fr":"Définir une couleur aléatoire","it":"Imposta un colore casuale","sv":"Ställ in en slumpvis färg","no":"Innstill en tilfeldig farge","es":"Configurar un color aleatorio","da":"Indstil en tilfældig farve","ru":"Установить случайный цвет","pl":"Ustaw losową barwę","ko":"무작위 색상 설정"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Light mode","nl":"Lamp modus","de":"Lichtmodus","fr":"Mode lumière","it":"Modalità luce","sv":"Lampläge","no":"Lysmodus","es":"Modo de la luz","da":"Lystilstand","ru":"Режим света","pl":"Tryb oświetlenia","ko":"라이트 모드"},"desc":{"en":"Switch between color or temperature mode","nl":"Schakel tussen kleur of temperatuur modus","de":"Zwischen Farb- und Temperaturmodus wechseln","fr":"Passer entre les modes couleur ou température","it":"Passa tra le modalità colore o temperatura","sv":"Växla mellan färg- och temperatur-läge","no":"Veksle mellom farge- og temperaturmodus","es":"Cambia entre los modos color y temperatura","da":"Skift mellem farve- eller temperaturtilstand","ru":"Переключение между цветовым или температурным режимом","pl":"Przełączaj między trybem barwy lub temperatury","ko":"색상 또는 온도 모드 간에 전환"},"values":[{"id":"color","title":{"en":"Color","nl":"Kleur","de":"Farbe","fr":"Couleur","it":"Colore","sv":"Färg","no":"Farge","es":"Color","da":"Farve","ru":"Цвет","pl":"Barwa","ko":"색상"}},{"id":"temperature","title":{"en":"Temperature","nl":"Temperatuur","de":"Temperatur","fr":"Température","it":"Temperatura","sv":"Temperatur","no":"Temperatur","es":"Temperatura","da":"Temperatur","ru":"Температура","pl":"Temperatura","ko":"온도"}}],"getable":true,"setable":true,"uiComponent":"color"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Color saturation","nl":"Kleurverzadiging","de":"Farbsättigung","fr":"Saturation de couleur","it":"Saturazione colore","sv":"Färggmättnad","no":"Fargemetning","es":"Saturación del color","da":"Farvemætning","ru":"Насыщенность цвета","pl":"Nasycenie barwy","ko":"채도"},"min":0,"chartType":"stepLine","max":1,"decimals":2,"getable":true,"setable":true,"$flow":{"actions":[{"id":"saturation","title":{"en":"Set the saturation","nl":"Verander kleurverzadiging","de":"Die Sättigung setzen","fr":"Définir la saturation","it":"Imposta la saturazione","sv":"Ställ in mättnad","no":"Innstill metningen","es":"Configurar la saturación","da":"Indstil farvemætningen","ru":"Установить насыщенность","pl":"Ustaw nasycenie","ko":"채도 설정"},"args":[{"name":"saturation","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"uiComponent":"color"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Color temperature","nl":"Kleurtemperatuur","de":"Farbtemperatur","fr":"Température de couleur","it":"Temperatura colore","sv":"Färgtemperatur","no":"Fargetemperatur","es":"Temperatura del color","da":"Farvetemperatur","ru":"Температура цвета","pl":"Temperatura barwy","ko":"색온도"},"min":0,"chartType":"stepLine","max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"color","$flow":{"actions":[{"id":"temperature","title":{"en":"Set a temperature","nl":"Verander naar temperatuur","de":"Eine Temperatur setzen","fr":"Définir une température","it":"Imposta una temperatura","sv":"Ställ in en temperatur","no":"Innstill en temperatur","es":"Configurar la temperatura","da":"Indstil en temperatur","ru":"Установить температуру","pl":"Ustaw temperaturę","ko":"온도 설정"},"args":[{"name":"temperature","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}],"hint":{"en":"Adjusts the temperature of the light. A higher value means a warmer color.","nl":"Verander de temperatuur van de lamp. Een hogere waarde betekent een warmere kleur.","de":"Stelle die Temperatur der Farbe ein. Ein höherer Wert bedeutet eine wärmere Farbe.","fr":"Ajuste la température de la lumière. Une valeur plus élévée signifie une couleur plus chaude.","it":"Regola la temperatura della luce. Un valore più alto indica un colore più caldo.","sv":"Justerar temperaturen på ljuset. Ett högre värde innebär en varmare färg.","no":"Justerer lystemperaturen. En høyere verdi gir en varmere farge.","es":"Ajusta la temperatura de la luz. Cuanto más alto es el valor, más cálido es el color.","da":"Justerer lysets temperatur. En højere værdi betyder en varmere farve.","ru":"Регулирует температуру света. Более высокое значение означает более теплый цвет.","pl":"Dostosuj temperaturę oświetlenia. Wyższa wartość oznacza cieplejszą barwę.","ko":"조명의 온도를 조정해요. 값이 높을수록 따뜻한 색이에요."}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Lock mode","nl":"Vergrendelmodus","de":"Schloss-Modus","fr":"Mode verrou","it":"Modalità serratura","sv":"Låsläge","no":"Låsemodus","es":"Modo de la cerradura","da":"Lås-tilstand","ru":"Режим замка","pl":"Tryb zamknięcia","ko":"잠금 모드"},"values":[{"id":"always_locked","title":{"en":"Always locked","nl":"Altijd op slot","de":"Immer verriegelt","fr":"Toujours verrouillé","it":"Sempre chiusa","sv":"Alltid låst","no":"Alltid låst","es":"Siempre cerrada","da":"Altid låst","ru":"Всегда закрыт","pl":"Zawsze zablokowane","ko":"항상 잠김"}},{"id":"always_unlocked","title":{"en":"Always unlocked","nl":"Altijd open","de":"Immer entriegelt","fr":"Toujours déverrouillé","it":"Sempre aperta","sv":"Alltid olåst","no":"Alltid ulåst","es":"Siempre abierta","da":"Altid ulåst","ru":"Всегда открыт","pl":"Zawsze odblokowane","ko":"항상 잠금 해제됨"}},{"id":"locked_until_unlock","title":{"en":"Locked until unlocked","nl":"Op slot tot geopend","de":"Verriegelt, bis entriegelt wird","fr":"Verrouillé jusqu\'à déverrouillé","it":"Chiusa finché non viene sbloccata","sv":"Låst tills upplåst","no":"Låst til opplåst","es":"Cerrada hasta que se abra","da":"Låst indtil ulåst","ru":"Закрыт, пока не будет открыт","pl":"Zablokowane aż do odblokowania","ko":"잠금 해제할 때까지 잠김"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"lock_mode_changed","title":{"en":"Lock mode changed","nl":"Slotmodus is veranderd","de":"Schloss-Modus hat sich geändert","fr":"Le mode de verrouillage a été modifié","it":"La modalità di chiusura è cambiata","sv":"Låsläge har ändrats","no":"Låsemodus endret","es":"El modo de la cerradura ha cambiado","da":"Lås-tilstand er blevet ændret","ru":"Режим замка изменен","pl":"Zmienił się tryb zamknięcia","ko":"잠금 모드가 변경되면"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"lock_mode_is","title":{"en":"Lock mode !{{is|is not}}","nl":"Slotmodus !{{is|is niet}}","de":"Schloss-Modus !{{ist|ist nicht}}","fr":"Mode verrou !{{est|n\'est pas}}","it":"La modalità di blocco !{{è|non è}}","sv":"Låsläge !{{är|är inte}}","no":"Låsemodus !{{er|er ikke}}","es":"El modo de la cerradura !{{está|no está}}","da":"Lås-tilstand !{{er|er ikke}}","ru":"Режим замка !{{|не}}","pl":"Tryb zamknięcia !{{to|to nie}}","ko":"잠금 모드가 다음!{{이면|이 아니면}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"mode","title":{"en":"Set mode","nl":"Stel modus in","de":"Modus setzen","fr":"Définir le mode","it":"Imposta la modalità","sv":"Ställ in läge","no":"Innstill modus","es":"Configurar modo","da":"Indstil tilstand","ru":"Установить режим","pl":"Ustaw tryb","ko":"잠금 모드 설정"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Locked","nl":"Op slot","de":"Verriegelt","fr":"Verrouillé","it":"Chiusa","sv":"Låst","no":"Låst","es":"Cerrada","da":"Låst","ru":"Закрыто","pl":"Zablokowane","ko":"잠금 상태"},"desc":{"en":"True when the lock is locked","nl":"Geeft aan wanneer iets op slot is","de":"True, wenn das Schloss verriegelt ist","fr":"Vrai, si le verrou est verrouillé","it":"Vero quando la serratura è chiusa","sv":"Sant när låset är låst","no":"Sant når låsen er låst","es":"Activado cuando la cerradura está cerrada","da":"Sandt, når låsen er låst","ru":"Значение «истина», когда замок закрыт","pl":"Adekwatne, kiedy zamek jest zablokowany","ko":"록이 잠겨 있으면 참"},"insights":true,"insightsTitleTrue":{"en":"Locked","nl":"Vergrendeld","de":"Verriegelt","fr":"Verrouillé","it":"Chiusa","sv":"Låst","no":"Låst","es":"Cerrada","da":"Låst","ru":"Закрыто","pl":"Zablokowane","ko":"잠김"},"insightsTitleFalse":{"en":"Unlocked","nl":"Ontgrendeld","de":"Entriegelt","fr":"Déverrouillé","it":"Aperta","sv":"Olåst","no":"Ulåst","es":"Abierta","da":"Ulåst","ru":"Открыто","pl":"Odblokowane","ko":"열림"},"getable":true,"setable":true,"uiComponent":"toggle","$flow":{"triggers":[{"id":"locked_true","title":{"en":"Locked","nl":"Vergrendeld","de":"Verriegelt","fr":"Verrouillé","it":"Chiusa","sv":"Låst","no":"Låst","es":"Cerrado","da":"Låst","ru":"Закрыто","pl":"Zablokowane","ko":"잠김이면"}},{"id":"locked_false","title":{"en":"Unlocked","nl":"Ontgrendeld","de":"Entriegelt","fr":"Déverrouillé","it":"Aperta","sv":"Olåst","no":"Ulåst","es":"Abierto","da":"Låst op","ru":"Открыто","pl":"Odblokowane","ko":"열림이면"}}],"conditions":[{"id":"locked","title":{"en":"A lock is !{{locked|unlocked}}","nl":"Een slot is !{{vergrendeld|ontgrendeld}}","de":"Ein Schloss ist !{{verriegelt|entriegelt}}","fr":"Un verrou est !{{verrouillé|déverrouillé}}","it":"Una serratura è !{{chiusa|aperta}}","sv":"Ett lås är !{{låst|olåst}}","no":"En lås er !{{låst|ulåst}}","es":"Una cerradura está !{{cerrada|abierta}}","da":"En lås er blevet !{{låst|låst op}}","ru":"Замок !{{закрыт|открыт}}","pl":"Zamek jest !{{zablokowany|odblokowany}}","ko":"!{{잠김|열림}}이면"}}],"actions":[{"id":"lock","highlight":true,"title":{"en":"Lock","nl":"Vergrendel","de":"Verriegeln","fr":"Verrouiller","it":"Chiudi","sv":"Lås","no":"Lås","es":"Cerrar","da":"Lås","ru":"Закрыть","pl":"Zablokuj","ko":"잠금"}},{"id":"unlock","highlight":true,"title":{"en":"Unlock","nl":"Ontgrendel","de":"Entriegeln","fr":"Déverrouiller","it":"Apri","sv":"Lås upp","no":"Lås opp","es":"Abrir","da":"Lås op","ru":"Открыть","pl":"Odblokuj","ko":"잠금 해제"}}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Air Quality Index","nl":"Luchtkwaliteitsindex","da":"Indeks for luftkvalitet","it":"Indice di qualità dell\'aria","ko":"공기질 지수","pl":"Wskaźnik jakości powietrza","ru":"Показатель качества воздуха","sv":"Index för luftkvalitet","es":"Índice de calidad del aire","fr":"Indice de qualité de l\'air","no":"Luftkvalitetsindeks"},"insights":true,"desc":{"en":"Air Quality Index","nl":"Luchtkwaliteitsindex","da":"Indeks for luftkvalitet","it":"Indice di qualità dell\'aria","ko":"공기질 지수","pl":"Wskaźnik jakości powietrza","ru":"Показатель качества воздуха","sv":"Index för luftkvalitet","es":"Índice de calidad del aire","fr":"Indice de qualité de l\'air","no":"Luftkvalitetsindeks"},"chartType":"spline","getable":true,"setable":false,"uiComponent":"sensor","min":0,"max":500,"$flow":{"triggers":[{"id":"measure_aqi_changed","title":{"en":"The air quality index changed","nl":"De luchtkwaliteitsindex is veranderd","da":"Luftkvalitetsindekset ændrede sig","it":"L\'indice di qualità dell\'aria è cambiato","ko":"공기질 지수가 변경되면","pl":"Zmienił się wskaźnik jakości powietrza","ru":"Показатель качества воздуха изменился","sv":"Index för luftkvalitet ändrades","es":"El índice de calidad del aire ha cambiado","fr":"L\'indice de qualité de l\'air a changé","no":"Luftkvalitetsindeksen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Battery","nl":"Accuniveau","de":"Batterie","fr":"Batterie","it":"Batteria","sv":"Batteri","no":"Batteri","es":"Batería","da":"Batteri","ru":"Аккумулятор","pl":"Bateria","ko":"배터리"},"units":{"en":"%","ko":"%","no":"%","ru":"%"},"insights":true,"min":0,"max":100,"desc":{"en":"Battery charge in percentage (%)","nl":"Accuniveau in procenten (%)","de":"Batteriestand in Prozent (%)","fr":"Pourcentage de charge de la batterie (%)","it":"Percentuale di carica della batteria (%)","sv":"Batteriladdning i procent (%)","no":"Batterilading i prosent (%)","es":"Carga de la batería en porcentaje (%)","da":"Batteriniveau i procent (%)","ru":"Зарядка аккумулятора в процентах (%)","pl":"Naładowanie baterii w procentach (%)","ko":"배터리 충전량(%)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"battery","$flow":{"triggers":[{"id":"measure_battery_changed","title":{"en":"The battery level changed","nl":"Het accuniveau is veranderd","de":"Der Batteriestand hat sich geändert","fr":"Le niveau de la batterie a changé","it":"Il livello della batteria è cambiato","sv":"Batterinivån ändrades","no":"Batterinivået ble endret","es":"El nivel de la batería ha cambiado","da":"Batteriniveauet har ændret sig","ru":"Уровень аккумулятора изменен","pl":"Zmienił się poziom baterii","ko":"배터리 수준이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":99}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Carbon Filter","nl":"Koolstoffilter","da":"Kulfilter","it":"Filtro a carbone","ko":"카본 필터 사용량","pl":"Filtr węglowy","ru":"Угольный фильтр","sv":"Kolfilter","es":"Filtro de carbono","fr":"Filtre à charbon","no":"Karbonfilter"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The carbon filter level in percent.","nl":"Het koolstoffilterniveau in procenten.","da":"Kulfilterniveauet i procent.","it":"Il livello del filtro al carbone in percentuale.","ko":"백분율로 표현한 카본 필터 수준입니다.","pl":"Poziom filtra węglowego w procentach.","ru":"Уровень угольного фильтра в процентах.","sv":"Kolfilternivån i procent.","es":"El nivel del filtro de carbono en porcentaje.","fr":"Le niveau du filtre à charbon en pourcentage.","no":"Karbonfilternivået i prosent."},"min":0,"max":100,"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_carbon_filter_changed","highlight":true,"title":{"en":"The carbon filter level changed","nl":"Het koolstoffilterniveau is veranderd","da":"Kulfilterniveauet ændrede sig","it":"Il livello del filtro a carbone è cambiato","ko":"카본 필터 수준이 변경되면","pl":"Zmienił się poziom filtra węglowego","ru":"Уровень угольного фильтра изменился на","sv":"Kolfilternivån ändrades","es":"El nivel del filtro de carbono ha cambiado","fr":"Le niveau du filtre à charbon est passé à","no":"Karbonfilternivået ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Formaldehyde","nl":"Formaldehyde","da":"Formaldehyd","it":"Formaldeide","ko":"포름알데히드","pl":"Formaldehyd","ru":"Формальдегид","sv":"Formaldehyd","es":"Formaldehído","fr":"Formaldéhyde","no":"Formaldehyd"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Formaldehyde in micrograms per cubic meter (μg/m³)","nl":"Formaldehyde in microgram per kubieke meter (μg/m³)","da":"Formaldehyd i mikrogram pr. kubikmeter (μg/m³)","it":"Formaldeide in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 포름알데히드","pl":"Formaldehyd w mikrogramach na metr sześcienny (μg/m³)","ru":"Формальдегид в микрограммах на кубический метр (мкг/м³)","sv":"Formaldehyd i mikrogram per kubikmeter (μg/m³)","es":"Formaldehído en microgramos por metro cúbico (μg/m³)","fr":"Formaldéhyde en microgrammes par mètre cube (μg/m³)","no":"Formaldehyd i mikrogram per kubikkmeter (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_ch2o_changed","title":{"en":"The formaldehyde level changed","nl":"Het formaldehydeniveau is veranderd","da":"Formaldehydniveauet ændrede sig","it":"Il livello di formaldeide è cambiato","ko":"포름알데히드 수준이 변경되면","pl":"Zmienił się poziom formaldehydu","ru":"Уровень формальдегида изменился","sv":"Formaldehydnivån ändrades","es":"El nivel de formaldehído ha cambiado","fr":"Le niveau de formaldéhyde a changé","no":"Formaldehydnivået ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"CO","nl":"CO","de":"CO","fr":"CO","it":"CO","sv":"CO","no":"CO","da":"CO","ru":"CO","pl":"CO","ko":"일산화탄소(CO)"},"units":{"en":"ppm","ru":"ч./млн.","ko":"ppm","no":"ppm","pl":"ppm"},"insights":true,"desc":{"en":"CO in Parts-per-million (ppm)","nl":"CO deeltjes per miljoen (ppm)","de":"CO in Anteile pro Million (ppm)","fr":"Niveau de CO en parts par million (ppm)","it":"Livello di CO in parti per milione (ppm)","sv":"CO i partiklar-per-miljon (ppm)","no":"CO i partikler per million (ppm)","es":"CO en partes por millón (ppm)","da":"CO i partikler-per-million (ppm)","ru":"CO в частицах на миллион (ч./млн.)","pl":"Stężenie tlenku węgla w części na milion (ppm)","ko":"CO 백만분의일 농도(ppm)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_co_changed","title":{"en":"The CO-level changed","nl":"Het CO-niveau is veranderd","de":"Der CO-Gehalt hat sich geändert","fr":"Le niveau de CO a changé","it":"Il livello di CO è cambiato","sv":"CO-nivån ändrades","no":"CO-nivået ble endret","es":"El nivel de CO ha cambiado","da":"CO-niveauet har ændret sig","ru":"CO-уровень изменен","pl":"Zmienił się poziom CO","ko":"일산화탄소(CO) 수준이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"CO2","nl":"CO2","de":"CO2","fr":"CO2","it":"CO2","sv":"CO2","no":"CO2","da":"CO2","ru":"CO2","pl":"CO2","ko":"이산화탄소(CO2)"},"units":{"en":"ppm","ru":"ч./млн.","ko":"ppm","no":"ppm","pl":"ppm"},"insights":true,"desc":{"en":"CO2 in Parts-per-million (ppm)","nl":"CO2 deeltjes per miljoen (ppm)","de":"CO2 in Anteile pro Million (ppm)","fr":"Niveau de CO2 en parts par million (ppm)","it":"Livello di CO2 in parti per milione (ppm)","sv":"CO2 i partiklar-per-miljon (ppm)","no":"CO2 i partikler per million (ppm)","es":"CO2 en partes por millón (ppm)","da":"CO2 i partikler-per-million (ppm)","ru":"CO2 в частицах на миллион (ч./млн.)","pl":"Stężenie dwutlenku węgla w części na milion (ppm)","ko":"CO2 백만분의일 농도(ppm)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_co2_changed","title":{"en":"The CO2-level changed","nl":"Het CO2-niveau is veranderd","de":"Der CO2-Gehalt hat sich geändert","fr":"Le niveau de CO2 a changé","it":"Il livello di CO2 è cambiato","sv":"CO2-nivån ändrades","no":"CO2-nivet ble endret","es":"El nivel de CO2 ha cambiado","da":"CO2-niveauet har ændret sig","ru":"CO2-уровень изменен","pl":"Zmienił się poziom CO2","ko":"이산화탄소(CO2) 수준 변경됨"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Volume","nl":"Volume","da":"Volumen","it":"Volume","ko":"부피","pl":"Objętość","ru":"Объем","sv":"Volym","es":"Volumen","fr":"Volume","no":"Volum"},"units":{"en":"L","nl":"L","da":"L","it":"L","ko":"L","pl":"l","ru":"Л","sv":"L","es":"L","fr":"L","no":"L"},"desc":{"en":"The volume of the content in liters.","nl":"Het volume van de inhoud in liters.","da":"Indholdets volumen i liter.","it":"Il volume del contenuto in litri.","ko":"리터 단위의 내용물 부피입니다.","pl":"Objętość zawartości w litrach.","ru":"Объем содержимого в литрах.","sv":"Innehållets volym i liter.","es":"El volumen del contenido en litros.","fr":"Le volume du contenu en litres.","no":"Volumet av innholdet i liter."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_content_volume_changed","title":{"en":"The volume changed","nl":"Het volume is veranderd","da":"Lydstyrken ændrede sig","it":"Il volume è cambiato","ko":"부피가 변경되면","pl":"Zmieniła się objętość","ru":"Объем изменился","sv":"Volymen ändrades","es":"El volumen ha cambiado","fr":"Le volume a changé\\n","no":"Volumet ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Current","nl":"Stroom","de":"Strom","fr":"Courant","it":"Corrente","sv":"Ström","no":"Strøm","es":"Corriente","da":"Strøm","ru":"Текущее значение","pl":"Prąd","ko":"전류"},"units":{"en":"A","ko":"A","no":"A","ru":"A"},"insights":true,"desc":{"en":"Electric current (A)","nl":"Elektrische stroom (A)","de":"Elektrischer Strom (A)","fr":"Courant électrique (A)","it":"Corrente elettrica (A)","sv":"Elektrisk ström (A)","no":"Elektrisk strøm (A)","es":"Corriente eléctrica (A)","da":"Elektrisk strøm (A)","ru":"Электрический ток (А)","pl":"Prąd elektryczny (A)","ko":"전류(A)"},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_current_changed","title":{"en":"The electric current changed","nl":"De elektrische stroom is veranderd","de":"Der elektrische Strom hat sich geändert","fr":"Le courant électrique a changé","it":"La corrente elettrica è cambiata","sv":"Den elektriska strömmen ändrades","no":"Den elektriska strømmen ble endret","es":"La corriente eléctrica ha cambiado","da":"Den elektriske strøm ændrede sig","ru":"Электрический ток изменился","pl":"Zmiana prądu elektrycznego","ko":"전류가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":7.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Data Rate","nl":"Gegevenssnelheid","da":"Datahastighed","it":"Velocità di trasmissione dei dati","ko":"데이터 전송률","pl":"Szybkość transmisji danych","ru":"Скорость передачи данных","sv":"Datahastighet","es":"Velocidad de datos","fr":"Débits de données","no":"Bitrate"},"units":{"en":"b/s","nl":"b/s","da":"b/s","it":"b/s","ko":"b/s","pl":"b/s","ru":"бит/с","sv":"b/s","es":"b/s","fr":"b/s","no":"b/s"},"desc":{"en":"The data rate in bits per second.","nl":"De gegevenssnelheid in bits per seconde.","da":"Datahastigheden i bits pr. sekund.","it":"La velocità di trasmissione dei dati in bit al secondo.","ko":"초당 비트 단위의 데이터 전송률입니다.","pl":"Szybkość transmisji danych w bitach na sekundę.","ru":"Скорость передачи данных в битах в секунду.","sv":"Datahastigheten i bitar per sekund.","es":"La velocidad de transmisión de datos en bits por segundo.","fr":"Le débit de données en bits par seconde.","no":"Bitrate i bits per sekund."},"insights":true,"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_data_rate_changed","title":{"en":"The data rate changed","nl":"De gegevenssnelheid is veranderd","da":"Datahastigheden ændrede sig","it":"La velocità di trasmissione dei dati è cambiata","ko":"데이터 전송률이 변경되면","pl":"Zmieniła się szybkość transmisji danych","ru":"Скорость передачи данных изменилась","sv":"Datahastigheten ändrades","es":"La velocidad de datos ha cambiado","fr":"Le débit de données a changé","no":"Bitraten ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Data Size","nl":"Gegevensgrootte","da":"Datastørrelse","it":"Dimensione dei dati","ko":"데이터 크기","pl":"Rozmiar danych","ru":"Размер данных","sv":"Datastorlek","es":"Tamaño de los datos","fr":"Taille des données","no":"Datastørrelse"},"units":{"en":"bytes","nl":"bytes","da":"bytes","it":"byte","ko":"bytes ","pl":"bajty","ru":"байты","sv":"byte","es":"bytes","fr":"octets","no":"byte"},"desc":{"en":"The data size in bytes.","nl":"De gegevensgrootte in bytes.","da":"Datastørrelsen i bytes.","it":"La dimensione dei dati in byte.","ko":"바이트 단위의 데이터 크기입니다.","pl":"Rozmiar danych w bajtach.","ru":"Размер данных в байтах.","sv":"Datastorlek i byte.","es":"El tamaño de los datos en bytes.","fr":"La taille des données en octets.","no":"Datastørrelsen i byte."},"insights":true,"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_data_size_changed","title":{"en":"The data size changed","nl":"De gegevensgrootte is veranderd","da":"Datastørrelsen er ændret","it":"La dimensione dei dati è cambiata","ko":"데이터 크기가 변경되면","pl":"Zmienił się rozmiar danych","ru":"Размер данных изменился","sv":"Datastorleken ändrades","es":"El tamaño de los datos ha cambiado","fr":"La taille des données a changé","no":"Datastørrelsen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Distance","nl":"Afstand","da":"Afstand","it":"Distanza","ko":"거리","no":"Avstand","pl":"Odległość","ru":"Расстояние","sv":"Avstånd","es":"Distancia","fr":"\\n"},"units":{"en":"m","nl":"m","da":"m","it":"m","ko":"m","no":"m","pl":"m","ru":"м","sv":"m","es":"m","fr":"m"},"desc":{"en":"The distance in meters.","nl":"De afstand in meters.","da":"Afstanden i meter.","it":"La distanza in metri.","ko":"미터 단위의 거리입니다.","no":"Avstanden i meter.","pl":"Odległość w metrach.","ru":"Расстояние в метрах.","sv":"Avståndet i meter.","es":"La distancia en metros.","fr":"La distance en mètres."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_distance_changed","title":{"en":"The distance changed","nl":"De afstand is veranderd","da":"Afstanden ændrede sig","it":"La distanza è cambiata","ko":"거리가 변경되면","no":"Avstanden ble endret","pl":"Zmieniła się odległość","ru":"Расстояние изменилось","sv":"Avståndet ändrades","es":"La distancia ha cambiado","fr":"La distance a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Frequency","nl":"Frequentie","da":"Frekvens","it":"Frequenza","ko":"주파수","no":"Frekvens","pl":"Częstotliwość","ru":"Частота","sv":"Frekvens","es":"Frecuencia","fr":"Fréquence"},"units":{"en":"Hz","nl":"Hz","da":"Hz","it":"Hz","ko":"Hz","no":"Hz","pl":"Hz","ru":"Гц","sv":"Hz","es":"Hz","fr":"Hz"},"desc":{"en":"The frequency in hertz.","nl":"De frequentie in hertz.","da":"Frekvensen i hertz.","it":"La frequenza in hertz.","ko":"헤르츠 단위의 주사율입니다.","no":"Frekvensen i hertz.","pl":"Częstotliwość w hercach.","ru":"Частота в герцах.","sv":"Frekvensen i hertz.","es":"La frecuencia en hercios.","fr":"La fréquence en hertz."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_frequency_changed","title":{"en":"The frequency changed","nl":"De frequentie is veranderd","da":"Frekvensen ændrede sig","it":"La frequenza è cambiata","ko":"주파수가 변경되면","no":"Frekvensen ble endret","pl":"Zmieniła się częstotliwość","ru":"Частота изменилась","sv":"Frekvensen ändrades","es":"La frecuencia ha cambiado","fr":"La fréquence a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Gust angle","nl":"Windstootrichting","de":"Böenrichtung","fr":"Direction d\'un coup de vent","it":"Angolo delle raffiche","sv":"Vindriktning","no":"Vindretning","es":"Dirección del aire","da":"Vindretning","ru":"Угол порывов ветра","pl":"Kąt porywu wiatru","ko":"돌풍 각도"},"units":{"en":"°","ko":"°","no":"°","ru":"°"},"insights":true,"desc":{"en":"Gust angle in degrees (°)","nl":"Windstoot richting in graden (°)","de":"Böenrichtung in Grad (°)","fr":"Direction du coup de vent en degrés (°)","it":"Angolo delle raffiche in gradi (°)","sv":"Vindriktning i grader (°)","no":"Vindretning i grader (°)","es":"Dirección del aire en grados (°)","da":"Vindretning i grader (°)","ru":"Угол порывов ветра в градусах (°)","pl":"Kąt porywu wiatru w stopniach (°)","ko":"돌풍 각도(°)"},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_gust_angle_changed","title":{"en":"The gust angle changed","nl":"Windstootrichting is veranderd","de":"Die Böenrichtung hat sich geändert","fr":"Direction du coup de vent a changé","it":"L\'angolo delle raffiche è cambiato","sv":"Vindriktningen har ändrats","no":"Vindretningen er endret","es":"La dirección del aire ha cambiado","da":"Vindretningen skiftede","ru":"Угол порывов ветра изменился","pl":"Zmiana kąta porywu wiatru","ko":"돌풍 각도가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":36}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Gust strength","nl":"Windstootkracht","de":"Böenstärke","fr":"Force d\'un coup de vent","it":"Intensità delle raffiche","sv":"Byvind","no":"Vindkast","es":"Fuerza del aire","da":"Vindstyrke","ru":"Сила порывов ветра","pl":"Siła porywu wiatru","ko":"돌풍 세기"},"units":{"en":"km/h","ru":"км/ч","ko":"km/h","no":"km/t"},"insights":true,"desc":{"en":"Gust strength in kilometer per hour (km/h)","nl":"Windstoot snelheid in kilometer per uur (km/u)","de":"Böenstärke in Kilometer pro Stunde (km/h)","fr":"Force du coup de vent en kilomètres par heure (km/h)","it":"Intensità delle raffiche in chilometri orari (km/h)","sv":"Byvind i kilometer per timme (km/h)","no":"Vindkaststyrke i kilometer per time (km/t)","es":"Fuerza del aire en kilómetros por hora (km/h)","da":"Vindstyrke i kilometer i timen (km/t)","ru":"Сила порывов ветра в км в час (км/ч)","pl":"Siła porywu wiatru w kilometrach na godzinę (km/h)","ko":"돌풍 세기 시간당 킬로미터(km/h)"},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_gust_strength_changed","title":{"en":"The gust strength changed","nl":"De windstootkracht is veranderd","de":"Die Böenstärke hat sich geändert","fr":"La force du coup de vent a changé","it":"L\'intensità delle raffiche è cambiata","sv":"Byvinden ändrades","no":"Vindstyrken ble endret","es":"La fuerza del aire ha cambiado","da":"Vindstyrken skiftede","ru":"Сила порывов ветра изменилась","pl":"Zmiana siły porywu wiatru","ko":"돌풍 세기가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":15}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"HEPA Filter","nl":"HEPA-filter","da":"HEPA-filter","it":"Filtro HEPA","ko":"헤파 필터 사용량","no":"HEPA-filter","pl":"Filtr HEPA","ru":"HEPA-фильтр","sv":"HEPA-filter","es":"Filtro HEPA","fr":"Filtre HEPA"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","no":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %"},"desc":{"en":"The HEPA filter level in percent.","nl":"Het HEPA-filterniveau in procenten.","da":"HEPA-filterets niveau i procent.","it":"Il livello del filtro HEPA in percentuale.","ko":"백분율로 표현한 HEPA 필터 수준입니다.","no":"HEPA-filternivået i prosent.","pl":"Poziom filtra HEPA w procentach.","ru":"Уровень HEPA-фильтра в процентах.","sv":"HEPA-filtrets nivå i procent.","es":"El nivel del filtro HEPA en porcentaje.","fr":"Le niveau du filtre HEPA en pourcentage."},"min":0,"max":100,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_hepa_filter_changed","highlight":true,"title":{"en":"The HEPA filter level changed","nl":"Het HEPA-filterniveau is veranderd","da":"HEPA-filterets niveau ændrede sig","it":"Il livello del filtro HEPA è cambiato","ko":"헤파 필터 수준이 변경되면","no":"HEPA-filternivået ble endret","pl":"Zmienił się poziom filtra HEPA","ru":"Уровень HEPA-фильтра изменился","sv":"HEPA-filternivån ändrades","es":"El nivel del filtro HEPA ha cambiado","fr":"Le niveau du filtre HEPA est passé à"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Humidity","nl":"Luchtvochtigheid","de":"Luftfeuchtigkeit","fr":"Humidité","it":"Umidità","sv":"Luftfuktighet","no":"Luftfuktighet","es":"Humedad","da":"Luftfugtighed","ru":"Влажность","pl":"Wilgotność","ko":"습도"},"units":{"en":"%","ko":"%","no":"%","ru":"%"},"insights":true,"desc":{"en":"Humidity in percent (%)","nl":"Relatieve luchtvochtigheid (%)","de":"Luftfeuchtigkeit in Prozent (%)","fr":"Humidité en pourcentage (%)","it":"Umidità in percentuale (%)","sv":"Luftfuktighet i procent (%)","no":"Luftfuktighet i prosent (%)","es":"Humedad en porcentaje (%)","da":"Luftfugtighed i procent (%)","ru":"Влажность в процентах (%)","pl":"Wilgotność w procentach (%)","ko":"습도(%)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_humidity_changed","title":{"en":"The humidity changed","nl":"De luchtvochtigheid is veranderd","de":"Die Luftfeuchtigkeit hat sich geändert","fr":"L\'humidité a changé","it":"L\'umidità è cambiata","sv":"Luftfuktigheten ändrades","no":"Luftfuktigheten ble endret","es":"La humedad ha cambiado","da":"Luftfugtigheden ændrede sig","ru":"Влажность изменилась","pl":"Zmiana wilgotności","ko":"습도가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":35}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Luminance","nl":"Helderheid","de":"Helligkeit","fr":"Luminance","it":"Luminanza","sv":"Luminans","no":"Luminans","es":"Luminancia","da":"Luminans","ru":"Яркость","pl":"Luminacja","ko":"조도"},"units":{"en":"lx","ru":"лк","ko":"lux","no":"lx"},"insights":true,"desc":{"en":"Luminance in Lux (lx)","nl":"Helderheid in Lux (lx)","de":"Leuchtkraft in Lux (lx)","fr":"Luminance en Lux (lx)","it":"Luminanza in Lux (lx)","sv":"Luminans i Lux (lx)","no":"Luminans i Lux (lx)","es":"Luminancia en Lux (lx)","da":"Luminans i Lux (lx)","ru":"Яркость в люксах (лк)","pl":"Luminacja w luksach (lx)","ko":"휘도 럭스(lx)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_luminance_changed","highlight":true,"title":{"en":"The luminance changed","nl":"De helderheid is veranderd","de":"Die Helligkeit hat sich geändert","fr":"La luminance a changé","it":"La luminanza è cambiata","sv":"Luminansen ändrades","no":"Luminansen ble endret","es":"La luminancia ha cambiado","da":"Luminansen ændrede sig","ru":"Яркость изменилась","pl":"Zmiana luminacji","ko":"조도가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":100}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Moisture","nl":"Vochtigheid","da":"Fugt","it":"Umidità","ko":"습기","no":"Fukt","pl":"Wilgoć","ru":"Влажность","sv":"Fukt","es":"Humedad","fr":"Humidité"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","no":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %"},"desc":{"en":"The moisture level in percentage.","nl":"Het vochtigheidsniveau in procenten.","da":"Fugtniveauet i procent.","it":"Il livello di umidità in percentuale.","ko":"백분율로 표현한 습기 수준입니다.","no":"Fuktnivået i prosent.","pl":"Poziom wilgoci w procentach.","ru":"Уровень влажности в процентах.","sv":"Fuktnivån i procent.","es":"El nivel de humedad en porcentaje.","fr":"Le niveau d\'humidité en pourcentage."},"insights":true,"chartType":"spline","decimals":2,"min":0,"max":100,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_moisture_changed","title":{"en":"The moisture level changed","nl":"Het vochtigheidsniveau is veranderd","da":"Fugtniveauet ændrede sig","it":"Il livello di umidità è cambiato","ko":"습기 수준이 변경되면","no":"Fuktnivået ble endret","pl":"Zmienił się poziom wilgoci","ru":"Уровень влажности изменился","sv":"Fuktnivån ändrades","es":"El nivel de humedad ha cambiado","fr":"Le niveau d\'humidité a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Monetary value","nl":"Monetaire waarde","da":"Monetær værdi","it":"Valore monetario","ko":"화폐 가치","no":"Pengeverdi","pl":"Wartość pieniężna","ru":"Денежная стоимость","sv":"Monetärt värde","es":"Valor monetario","fr":"Valeur monétaire"},"units":{"en":"€","nl":"€","da":"€","it":"€","ko":"€","no":"€","pl":"€","ru":"€","sv":"€","es":"€","fr":" €"},"desc":{"en":"The monetary value with a currency (default: €).","nl":"De monetaire waarde met een valuta (standaard: €).","da":"Den monetære værdi med en valuta (standard: €).","it":"Il valore monetario in una valuta (predefinita: €).","ko":"통화로 환산한 금전적 가치입니다(기본값: €).","no":"Pengeverdien med en valuta (standard: EUR).","pl":"Wartość pieniężna z walutą (domyślnie: €).","ru":"Денежная стоимость с указанием валюты (по умолчанию: евро).","sv":"Det monetära värdet med en valuta (standard: €).","es":"El valor monetario en una divisa (por omisión, €).","fr":"La valeur monétaire avec une devise (par défaut : €)."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_monetary_changed","title":{"en":"The monetary value changed","nl":"De monetaire waarde is veranderd","da":"Den monetære værdi ændrede sig","it":"Il valore monetario è cambiato","ko":"화폐 가치가 변경되면","no":"Pengeverdien ble endret","pl":"Zmieniła się wartość pieniężna","ru":"Денежная стоимость изменилась","sv":"Det monetära värdet ändrades","es":"El valor monetario ha cambiado","fr":"La valeur monétaire a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Noise","nl":"Geluid","de":"Lärm","fr":"Bruit","it":"Rumore","sv":"Buller","no":"Støy","es":"Ruido","ru":"Шум","pl":"Hałas","ko":"소음"},"units":{"en":"dB","ru":"дБ","ko":"dB","no":"dB"},"insights":true,"desc":{"en":"Noise in decibel (dB)","nl":"Geluid in decibel (dB)","de":"Lärm in Dezibel (dB)","fr":"Bruit en decibel (dB)","it":"Rumore in decibel (dB)","sv":"Buller i decibel (dB)","no":"Støy i decibel (dB)","es":"Ruido en decibelios (dB)","da":"Støj i decibel (dB)","ru":"Шум в децибелах (дБ)","pl":"Poziom hałasu w decybelach (dB)","ko":"소음 데시벨(dB)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_noise_changed","title":{"en":"The noise changed","nl":"Het geluidsniveau is veranderd","de":"Der Lärm hat sich geändert","fr":"Le bruit a changé","it":"Il rumore è cambiato","sv":"Bullret ändrades","no":"Støyen ble endret","es":"El ruido ha cambiado","da":"Støjniveauet ændrede sig","ru":"Шум изменился","pl":"Zmiana poziomu hałasu","ko":"소음이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":43}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"NOx","nl":"NOx","da":"NOx","it":"NOx","ko":"질소산화물","no":"NOx","pl":"NOx","ru":"NOx","sv":"NOx","es":"NOx","fr":"NOx"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","no":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Nitrogen Oxides in micrograms per cubic meter (μg/m³)","nl":"Stikstofoxiden in microgram per kubieke meter (μg/m³)","da":"Kvælstofoxider i mikrogram pr. kubikmeter (μg/m³)","it":"Ossidi di azoto in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 질소 산화물","no":"Nitrogenoksider i mikrogram per kubikkmeter (μg/m³)","pl":"Tlenki azotu w mikrogramach na metr sześcienny (μg/m³)","ru":"Оксиды азота в микрограммах на кубический метр (мкг/м³)","sv":"Kväveoxider i mikrogram per kubikmeter (μg/m³)","es":"Óxidos de nitrógeno en microgramos por metro cúbico (μg/m³)","fr":"Oxydes d\'azote en microgrammes par mètre cube (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_nox_changed","title":{"en":"The NOx level changed","nl":"Het NOx-niveau is veranderd","da":"NOx-værdien ændrede sig","it":"Il livello di NOx è cambiato","ko":"질소산화물 수준 변경되면","no":"NOx-verdien ble endret","pl":"Zmienił się poziom NOx","ru":"Значение NOx изменилось","sv":"NOx-värdet ändrades","es":"El nivel de NOx ha cambiado","fr":"La valeur de NOx a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Ozone","nl":"Ozon","da":"Ozon","it":"Ozono","ko":"오존","no":"Ozon","pl":"Ozon","ru":"Озон","sv":"Ozon","es":"Ozono","fr":"Ozone"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","no":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Ozone in micrograms per cubic meter (μg/m³)","nl":"Ozon in microgram per kubieke meter (μg/m³)","da":"Ozon i mikrogram pr. kubikmeter (μg/m³)","it":"Ozono in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 오존","no":"Ozon i mikrogram per kubikkmeter (μg/m³)","pl":"Ozon w mikrogramach na metr sześcienny (μg/m³)","ru":"Озон в микрограммах на кубический метр (мкг/м³)","sv":"Ozon i mikrogram per kubikmeter (μg/m³)","es":"Ozono en microgramos por metro cúbico (μg/m³)","fr":"Ozone en microgrammes par mètre cube (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_o3_changed","title":{"en":"The ozone level changed","nl":"Het ozonniveau is veranderd","da":"Ozonværdien ændrede sig","it":"Il livello di ozono è cambiato","ko":"오존 수준이 변경되면","no":"Ozonnivået ble endret","pl":"Zmienił się poziom ozonu","ru":"Значение озона изменилось","sv":"Ozonvärdet ändrades","es":"El nivel de ozono ha cambiado","fr":"La valeur de l\'ozone a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Odor","nl":"Geur","da":"Lugt","it":"Odore","ko":"냄새","no":"Lukt","pl":"Zapach","ru":"Запах","sv":"Lukt","es":"Olor","fr":"Odeur"},"units":{"en":"OU","nl":"GE","da":"OU","it":"OU","ko":"OU","no":"OU","pl":"ou","ru":"Единицы интенсивности запаха","sv":"OU","es":"OU","fr":"UO"},"desc":{"en":"Odor concentration in odor units.","nl":"Geurconcentratie in geureenheden.","da":"Lugtkoncentration i lugtenheder.","it":"Concentrazione di odori in unità di odore.","ko":"OU(Odor Unit) 단위의 냄새 농도입니다.","no":"Luktkonsentrasjon i luktenheter.","pl":"Stężenie zapachowe w jednostkach zapachowych.","ru":"Концентрация запаха в единицах интенсивности запаха.","sv":"Luktkoncentration i luktenheter.","es":"Concentración de olor en unidades olfativas.","fr":"Concentration d\'odeur en unités d\'odeur."},"insights":true,"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_odor_changed","title":{"en":"The odor concentration changed","nl":"De geurconcentratie is veranderd","da":"Lugtkoncentrationen ændrede sig","it":"La concentrazione di odori è cambiata","ko":"냄새 농도 변경됨","pl":"Zmieniło się stężenie zapachowe","ru":"Концентрация запаха изменилась","sv":"Luktkoncentrationen förändrades","es":"La concentración de olor ha cambiado","fr":"La concentration d\'odeurs a changé","no":"Luktkonsentrasjonen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"pH level","nl":"pH-waarde","da":"pH-niveau","it":"Livello di pH","ko":"산성도","no":"pH-nivå","pl":"Poziom pH","ru":"Уровень pH","sv":"pH-nivå","es":"nivel de PH","fr":"Niveau de pH"},"desc":{"en":"The pH level of a aqueous solution.","nl":"De pH-waarde van een waterige oplossing.","da":"PH-niveauet i en vandig opløsning.","it":"Il livello di pH di una soluzione acquosa.","ko":"수용액의 pH 수준입니다.","pl":"Poziom pH roztworu wodnego.","ru":"Уровень pH водного раствора.","sv":"pH-värdet i en vattenlösning.","es":"El nivel de pH de una solución acuosa.","fr":"Le pH d\'une solution aqueuse.","no":"pH-nivå for en vandig løsning."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_ph_changed","title":{"en":"The pH level changed","nl":"De pH-waarde is veranderd","da":"PH-niveauet ændrede sig","it":"Il livello di pH è cambiato","ko":"산성도가 변경되면","pl":"Zmienił się poziom pH","ru":"Уровень pH изменился","sv":"pH-nivån förändrades","es":"El nivel de pH ha cambiado","fr":"Le niveau de pH a changé","no":"pH-nivået ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM0.1","nl":"PM0.1","de":"PM0.1","fr":"PM0.1\\n","it":"PM0.1","sv":"PM0.1","no":"PM0.1","es":"PM0,1","ru":"ТЧ0.1","pl":"PM0.1","ko":"나노미세먼지(PM0.1)","da":"PM0.1"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³","da":"μg/m³","it":"μg/m³","nl":"μg/m³","pl":"μg/m³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Zwevende deeltjes (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)\\n","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Svevestøv (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Твердые частицы в воздухе (мкг/м³)","pl":"Pył zawieszony w powietrzu (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm01_changed","title":{"en":"The PM0.1 value has changed","nl":"De PM0.1-waarde is veranderd","de":"Der PM0.1-Wert hat sich geändert","fr":"La valeur PM0.1 a changé","it":"Il valore di PM0.1 è cambiato","sv":"PM0.1-värdet har ändrats","no":"PM0.1-verdien har blitt endret","es":"El valor de PM0,1 ha cambiado","da":"PM0.1-værdien har ændret sig","ru":"Значение ТЧ0.1 изменилось","pl":"Zmieniła się wartość PM0.1","ko":"나노미세먼지(PM0.1) 값이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM1","nl":"PM1","de":"PM1","fr":"PM1","it":"PM1","sv":"PM1","no":"PM1","es":"PM1","ru":"ТЧ1","pl":"PM1","ko":"극초미세먼지(PM1.0)","da":"PM1"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³","da":"μg/m³","it":"μg/m³","nl":"μg/m³","pl":"μg/m³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Zwevende deeltjes (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)\\n","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Svevestøv (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Твердые частицы в воздухе (мкг/м³)","pl":"Pył zawieszony w powietrzu (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm1_changed","title":{"en":"The PM1 value has changed","nl":"De PM1-waarde is veranderd","de":"Der PM1-Wert hat sich geändert","fr":"La valeur PM1 a changé","it":"Il valore di PM1 è cambiato","sv":"PM1-värdet har ändrats","no":"PM1-verdien er endret","es":"El valor de PM1 ha cambiado","da":"PM1-værdien har ændret sig","ru":"Значение ТЧ1 изменилось","pl":"Zmieniła się wartość PM1","ko":"극초미세먼지(PM1.0) 값이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM10","nl":"PM10","de":"PM10","fr":"PM10","it":"PM10","sv":"PM10","no":"PM10","es":"PM10","ru":"ТЧ10","pl":"PM10","ko":"미세먼지(PM10)","da":"PM10"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³","da":"μg/m³","it":"μg/m³","nl":"μg/m³","pl":"μg/m³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Zwevende deeltjes (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Svevestøv (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Твердые частицы в воздухе (мкг/м³)","pl":"Pył zawieszony w powietrzu (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm10_changed","title":{"en":"The PM10 value has changed","nl":"De PM10-waarde is veranderd","de":"Der PM10-Wert hat sich geändert","fr":"La valeur PM10 a changé","it":"Il valore di PM10 è cambiato","sv":"PM10-värdet har ändrats","no":"PM10-verdien er endret","es":"El valor de PM10 ha cambiado","da":"PM10-værdien har ændret sig","ru":"Значение ТЧ10 изменилось","pl":"Zmieniła się wartość PM10","ko":"미세먼지(PM10) 값이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"PM2.5","nl":"PM2,5","de":"PM2.5","fr":"PM2.5","it":"PM2.5","sv":"PM2.5","no":"PM2.5","es":"PM2,5","ru":"ТЧ 2.5","pl":"PM2.5","ko":"초미세먼지(PM2.5)"},"units":{"en":"μg/m³","ru":"мкг/м³","ko":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Atmospheric particulate matter (μg/m³)","nl":"Deeltjesvormige luchtverontreiniging (μg/m³)","de":"Atmosphärischer Feinstaub (μg/m³)","fr":"Particules en suspension (μg/m³)","it":"Particolato atmosferico (μg/m³)","sv":"Atmosfäriskt partikelämne (μg/m³)","no":"Atmosfæriske partikler (μg/m³)","es":"Partículas atmosféricas (μg/m³)","da":"Atmosfæriske partikler (μg/m³)","ru":"Атмосферные твердые частицы (мкг/м³)","pl":"Pył zawieszony (μg/m³)","ko":"대기 중 미세입자 수(μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pm25_changed","title":{"en":"The PM2.5 value changed","nl":"De PM2,5-waarde is veranderd","de":"Der PM2.5-Wert hat sich geändert","fr":"La valeur PM2.5 a changé","it":"Il valore di PM2.5 è cambiato","sv":"PM2.5-värdet har ändrats","no":"PM2.5-verdien ble endret","es":"El valor de PM2,5 ha cambiado","da":"PM2.5-værdien har ændret sig","ru":"Значение ТЧ 2.5 изменилось","pl":"Zmieniła się wartość PM2.5","ko":"초미세먼지(PM2.5) 값이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Power","nl":"Vermogen","de":"Leistung","fr":"Puissance","it":"Potenza","sv":"Effekt","no":"Effekt","es":"Potencia","da":"Effekt","ru":"Электроэнергия","pl":"Moc","ko":"전력"},"units":{"en":"W","ru":"Вт","ko":"W"},"insights":true,"desc":{"en":"Power in watt (W)","nl":"Vermogen in watt (W)","de":"Leistung in Watt (W)","fr":"Puissance en watt (W)","it":"Potenza in watt (W)","sv":"Effekt i watt (W)","no":"Effekt i watt (W)","es":"Potencia en vatios (W)","da":"Effekt i watt (W)","ru":"Электроэнергия (Вт)","pl":"Moc w watach (W)","ko":"전력 와트(W)"},"options":{"isApproximated":{"type":"boolean","default":false,"desc":{"en":"This flag is used to determine that the device itself has no power measurement functionality, but that the driver calculates the energy use.","ru":"Этот флаг используется для определения того, что само устройство не имеет функции измерения электроэнергии, но драйвер рассчитывает потребление энергии.","pl":"Flaga oznacza, że samo urządzenie nie ma funkcji pomiaru mocy, ale sterownik oblicza zużycie energii.","ko":"이 플래그는 제품 자체에 전력 측정 기능이 없지만 드라이버가 에너지 사용량을 계산하는 경우에 사용돼요.","no":"Dette flagget brukes til å anmerke at enheten i seg selv ikke har noen funksjon for effektmåling, men at sjåføren beregner energibruken.","es":"Este aviso indica que el dispositivo no dispone de ninguna funcionalidad para medir la energía, sino que el controlador calcula el uso de energía."}}},"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_power_changed","highlight":true,"title":{"en":"The power changed","nl":"Het vermogen is veranderd","de":"Die Stromversorgung wurde geändert","fr":"L\'énergie a changé","it":"L\'energia è cambiata","sv":"Strömmen ändrades","no":"Strømmen ble endret","es":"La potencia ha cambiado","da":"Strømmen ændrede sig","ru":"Электроэнергия изменена","pl":"Zmiana mocy","ko":"전력이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":7.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Pressure","nl":"Druk","de":"Druck","fr":"Pression","it":"Pressione","sv":"Tryck","no":"Trykk","es":"Presión","da":"Tryk","ru":"Давление","pl":"Ciśnienie","ko":"기압"},"units":{"en":"mbar","ru":"мбар","ko":"mbar","no":"mbar"},"insights":true,"desc":{"en":"Pressure in millibar (mbar)","nl":"Druk in millibar (mbar)","de":"Druck in Millibar (mbar)","fr":"Pression en millibar (mbar)","it":"Pressione in millibar (mbar)","sv":"Tryck i millibar (mbar)","no":"Trykk i millibar (mbar)","es":"Presión en milibares (mbar)","da":"Tryk i millibar (mbar)","ru":"Давление (мбар)","pl":"Ciśnienie w milibarach (mbar)","ko":"압력 밀리바(mbar)"},"chartType":"spline","decimals":0,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_pressure_changed","title":{"en":"The pressure changed","nl":"De druk is veranderd","de":"Der Druck hat sich geändert","fr":"La pression a changé","it":"La pressione è cambiata","sv":"Trycket ändrades","no":"Trykket ble endret","es":"La presión ha cambiado","da":"Trykkey ændrede sig","ru":"Давление изменилось","pl":"Zmiana ciśnienia","ko":"기압이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":1000}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Radon","nl":"Radon","da":"Radon","it":"Radon","ko":"라돈","pl":"Radon","ru":"Радон","sv":"Radon","es":"Radón","fr":"Radon","no":"Radon"},"units":{"en":"Bq/m³","nl":"Bq/m³","da":"Bq/m³","it":"Bq/m³","ko":"Bq/m³","pl":"Bq/m³","ru":"Бк/м³","sv":"Bq/m³","es":"Bq/m³","fr":"Bq/m³","no":"Bq/m³"},"insights":true,"desc":{"en":"Radon in Becquerel per cubic meter (Bq/m³)","nl":"Radon in becquerel per kubieke meter (Bq/m³)","da":"Radon i Becquerel pr. kubikmeter (Bq/m³)","it":"Radon in Becquerel per metro cubo (Bq/m³)","ko":"입방미터당 베크렐(Bq/m³) 단위의 라돈","pl":"Radon w bekerelach na metr sześcienny (Bq/m³)","ru":"Радон в беккерелях на кубический метр (Бк/м³)","sv":"Radon i becquerel per kubikmeter (Bq/m³)","es":"Radón en becquerelios por metro cúbico (Bq/m³)","fr":"Radon en Becquerel par mètre cube (Bq/m³)","no":"Radon i becquerel per kubikkmeter (Bq/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_radon_changed","title":{"en":"The radon level has changed","nl":"Het radon-niveau is veranderd","da":"Radon-værdien har ændret sig","it":"Il livello di radon è cambiato","ko":"라돈 수준이 변경되면","no":"Radonnivået er endret","pl":"Zmienił się poziom radonu","ru":"Значение радона изменилось","sv":"Radonvärdet har ändrats","es":"El nivel de radón ha cambiado","fr":"La valeur du radon a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rain","nl":"Regen","de":"Niederschlag","fr":"Pluie","it":"Pioggia","sv":"Regn","no":"Regn","es":"Lluvia","da":"Regn","ru":"Дождь","pl":"Deszcz","ko":"강우량"},"units":{"en":"mm","ru":"мм","ko":"mm","no":"mm"},"insights":true,"desc":{"en":"Rain in millimeter (mm)","nl":"Regen in millimeter (mm)","de":"Niederschlag in Millimeter (mm)","fr":"Pluie en millimètres (mm)","it":"Pioggia in millimetri (mm)","sv":"Regn i millimeter (mm)","no":"Regn i millimeter (mm)","es":"Lluvia en milímetros (mm)","da":"Regn i millimeter (mm)","ru":"Дождь в миллиметрах (мм)","pl":"Deszcz w milimetrach (mm)","ko":"강우량 밀리미터(mm)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_rain_changed","title":{"en":"The rain changed","nl":"De regen is veranderd","de":"Der Niederschlag hat sich geändert","fr":"La pluie a changé","it":"La pioggia è cambiata","sv":"Regnet ändrades","no":"Regnet ble endret","es":"La lluvia ha cambiado","da":"Regnen ændrede sig","ru":"Дождь изменился","pl":"Zmiana poziomu deszczu","ko":"강우량이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":3}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rain Intensity","nl":"Regenintensiteit","da":"Regnens intensitet","it":"Intensità della pioggia","ko":"강수 강도","pl":"Intensywność deszczu","ru":"Интенсивность дождя","sv":"Regnintensitet","es":"Intensidad de la lluvia","fr":"Intensité de la pluie","no":"Nedbørsmengde"},"units":{"en":"mm/h","nl":"mm/u","da":"mm/t","it":"mm/h","ko":"mm/h","pl":"mm/h","ru":"мм/ч","sv":"mm/h","es":"mm/h","fr":"mm/h","no":"mm/t"},"desc":{"en":"The rain intensity in millimeters per hour.","nl":"De regenintensiteit in millimeters per uur.","da":"Regnintensiteten i millimeter pr. time.","it":"L\'intensità della pioggia in millimetri all\'ora.","ko":"시간당 밀리미터 단위의 비 강도입니다.","pl":"Intensywność deszczu w milimetrach na godzinę.","ru":"Интенсивность дождя в миллиметрах в час.","sv":"Regnintensiteten i millimeter per timme.","es":"La intensidad de la lluvia en milímetros por hora.","fr":"L\'intensité de la pluie en millimètres par heure.","no":"Nedbørsmengden i millimeter per time."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_rain_intensity_changed","title":{"en":"The rain intensity changed","nl":"De regenintensiteit is veranderd","da":"Regnens intensitet ændrede sig","it":"L\'intensità della pioggia è cambiata","ko":"강수 강도가 변경되면","pl":"Zmieniła się Intensywność deszczu","ru":"Интенсивность дождя изменилась","sv":"Regnintensiteten förändrades","es":"La intensidad de la lluvia ha cambiado","fr":"L\'intensité de la pluie a changé","no":"Nedbørsmengden ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rotation","nl":"Rotatie","da":"Rotation","it":"Rotazione","ko":"회전각","pl":"Rotacja","ru":"Вращение","sv":"Rotation","es":"Rotación","fr":"Rotation","no":"Rotasjon"},"units":{"en":"°","nl":"°","da":"°","it":"°","ko":"°","pl":"°","ru":"°","sv":"°","es":"°","fr":"°","no":"°"},"desc":{"en":"The rotation in degrees.","nl":"De rotatie in graden.","da":"Rotationen i grader.","it":"La rotazione in gradi.","ko":"도 단위의 회전각입니다.","pl":"Obrót w stopniach.","ru":"Вращение в градусах.","sv":"Rotationen i grader.","es":"La rotación en grados.","fr":"La rotation en degrés.","no":"Rotasjonen i grader."},"insights":true,"chartType":"spline","decimals":1,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_rotation_changed","title":{"en":"The rotation changed","nl":"De rotatie is veranderd","da":"Rotationen ændrede sig","it":"La rotazione è cambiata","ko":"회전각이 변경되면","pl":"Zmieniła się rotacja","ru":"Вращение изменилось","sv":"Rotationen ändrades","es":"La rotación ha cambiado","fr":"La rotation a changé","no":"Rotasjonen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":200}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Signal Strength","nl":"Signaalsterkte","da":"Signalstyrke","it":"Intensità del segnale","ko":"신호 세기","pl":"Siła sygnału","ru":"Мощность сигнала","sv":"Signalstyrka","es":"Intensidad de la señal","fr":"Intensité du signal","no":"Signalstyrke"},"units":{"en":"dB","nl":"dB","da":"dB","it":"dB","ko":"dB","pl":"dB","ru":"дБ","sv":"dB","es":"dB","fr":"dB","no":"dB"},"desc":{"en":"The signal strength in decibels.","nl":"De signaalsterkte in decibel.","da":"Signalstyrken i decibel.","it":"L\'intensità del segnale in decibel.","ko":"데시벨 단위의 신호 강도입니다.","pl":"Siła sygnału w decybelach.","ru":"Мощность сигнала в децибелах.","sv":"Signalstyrkan i decibel.","es":"La intensidad de la señal en decibelios.","fr":"L\'intensité du signal en décibels.","no":"Signalstyrken i desibel."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_signal_strength_changed","title":{"en":"The signal strength changed","nl":"De signaalsterkte is veranderd","da":"Signalstyrken ændrede sig","it":"L\'intensità del segnale è cambiata","ko":"신호 세기가 변경되면","pl":"Zmieniła się siła sygnału","ru":"Мощность сигнала изменилась","sv":"Signalstyrkan har ändrats","es":"La intensidad de la señal ha cambiado","fr":"L\'intensité du signal a changé","no":"Signalstyrken ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"SO2","nl":"SO2","da":"SO2","it":"SO2","ko":"이산화황","pl":"SO2","ru":"SO2","sv":"SO2","es":"SO2","fr":"SO2","no":"SO2"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Sulfur dioxide in micrograms per cubic meter (μg/m³)","nl":"Zwaveldioxide in microgram per kubieke meter (μg/m³)","da":"Svovldioxid i mikrogram pr. kubikmeter (μg/m³)","it":"Anidride solforosa in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 이산화황","pl":"Dwutlenek siarki w mikrogramach na metr sześcienny (μg/m³)","ru":"Диоксид серы в микрограммах на кубический метр (мкг/м³)","sv":"Svaveldioxid i mikrogram per kubikmeter (μg/m³)","es":"Dióxido de azufre en microgramos por metro cúbico (μg/m³)","fr":"Dioxyde de soufre en microgrammes par mètre cube (μg/m³)","no":"Svoveldioksid i mikrogram per kubikkmeter (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_so2_changed","title":{"en":"The SO2 level has changed","nl":"Het SO2-niveau is veranderd","da":"SO2-værdien har ændret sig","it":"Il livello di SO2 è cambiato","ko":"이산화황 수준이 변경되면","no":"SO2-nivået er endret","pl":"Zmienił się poziom SO2","ru":"Значение SO2 изменилось","sv":"SO2-värdet har ändrats","es":"El nivel de SO2 ha cambiado","fr":"La valeur du SO2 a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Speed","nl":"Snelheid","da":"Hastighed","it":"Velocità","ko":"속도","pl":"Prędkość","ru":"Скорость","sv":"Hastighet","es":"Velocidad","fr":"Vitesse","no":"Hastighet"},"units":{"en":"m/s","nl":"m/s","da":"m/s","it":"m/s","ko":"m/s","pl":"m/s","ru":"м/с","sv":"m/s","es":"m/s","fr":"m/s","no":"m/s"},"desc":{"en":"The speed in meters per second.","nl":"De snelheid in meters per seconde.","da":"Hastigheden i meter pr. sekund.","it":"La velocità in metri al secondo.","ko":"초당 미터 단위의 속도입니다.","pl":"Prędkość w metrach na sekundę.","ru":"Скорость в метрах в секунду.","sv":"Hastigheten i meter per sekund.","es":"La velocidad en metros por segundo.","fr":"La vitesse en mètres par seconde.","no":"Hastigheten i meter per sekund."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_speed_changed","title":{"en":"The speed changed","nl":"De snelheid is veranderd","da":"Hastigheden ændrede sig","it":"La velocità è cambiata","ko":"속도가 변경되면","pl":"Zmieniła się prędkość","ru":"Скорость изменилась","sv":"Hastigheten ändrades","es":"La velocidad ha cambiado","fr":"La vitesse a changé","no":"Hastigheten ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Temperature","nl":"Temperatuur","de":"Temperatur","fr":"Température","it":"Temperatura","sv":"Temperatur","no":"Temperatur","es":"Temperatura","da":"Temperatur","ru":"Температура","pl":"Temperatura","ko":"온도"},"units":{"en":"°C","ko":"°C","no":"°C","ru":"°C"},"insights":true,"desc":{"en":"Temperature in degrees Celsius (°C)","nl":"Temperatuur in graden Celsius (°C)","de":"Temperatur in Grad Celsius (°C)","fr":"Température en degrés Celsius (°C)","it":"Temperatura in gradi Celsius (°C)","sv":"Temperatur i grader Celsius (°C)","no":"Temperatur i grader Celsius (°C)","es":"Temperatura en grados Celsius (°C)","da":"Temperatur i Celsius (°C)","ru":"Температура в градусах Цельсия (°C)","pl":"Temperatura w stopniach Celsjusza (°C)","ko":"온도 섭씨(°C)"},"decimals":1,"chartType":"spline","getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_temperature_changed","highlight":true,"title":{"en":"The temperature changes","nl":"De temperatuur verandert","de":"Die Temperatur hat sich geändert","fr":"La température a changé","it":"La temperatura è cambiata","sv":"Temperaturen ändrades","no":"Temperaturen endres","es":"La temperatura ha cambiado","da":"Temperaturen ændrede sig","ru":"Температура изменяется","pl":"Zmiana temperatury","ko":"온도가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":23.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"TVOC","nl":"VOS","da":"TVOC","it":"TVOC","ko":"총휘발성유기화합물","pl":"Wszystkie LZO","ru":"TVOC","sv":"TVOC","es":"TVOC","fr":"TVOC","no":"TVOC"},"units":{"en":"μg/m³","nl":"μg/m³","da":"μg/m³","it":"μg/m³","ko":"μg/m³","pl":"μg/m³","ru":"мкг/м³","sv":"μg/m³","es":"μg/m³","fr":"μg/m³","no":"μg/m³"},"insights":true,"desc":{"en":"Total volatile organic compounds in micrograms per cubic meter (μg/m³)","nl":"Totale vluchtige organische stoffen in microgram per kubieke meter (μg/m³)","da":"Total mængde flygtige organiske forbindelser i mikrogram pr. kubikmeter (μg/m³)","it":"Composti organici volatili totali in microgrammi per metro cubo (μg/m³)","ko":"입방미터당 마이크로그램(μg/m³) 단위의 휘발성 유기 화합물 총량","pl":"Całkowita ilość lotnych związków organicznych w mikrogramach na metr sześcienny (μg/m³)","ru":"Общее количество летучих органических соединений в микрограммах на кубический метр (мкг/м³)","sv":"Totalt antal flyktiga organiska föreningar i mikrogram per kubikmeter (μg/m³)","es":"Compuestos orgánicos volátiles totales en microgramos por metro cúbico (μg/m³)","fr":"Total des composés organiques volatils en microgrammes par mètre cube (μg/m³)","no":"Total mengde flyktige organiske forbindelser i mikrogram per kubikkmeter (μg/m³)"},"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_tvoc_changed","title":{"en":"The TVOC level has changed","nl":"Het VOS-niveau is veranderd","da":"TVOC-værdien har ændret sig","it":"Il livello di TVOC è cambiato","ko":"총휘발성유기화합물 수준이 변경되면","no":"TVOC-nivået er endret","pl":"Zmieniła się wartość wszystkich LZO","ru":"Значение TVOC изменилось","sv":"TVOC-värdet har ändrats","es":"El nivel de TVOC ha cambiado","fr":"La valeur du TVOC a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"TVOC index","nl":"VOS-index","da":"TVOC-indeks","it":"Indice TVOC","ko":"총휘발성유기화합물 지수","pl":"Wskaźnik wszystkich LZO","ru":"Показатель TVOC","sv":"TVOC-index","es":"Índice de COVT","fr":"Indice TVOC","no":"TVOC-indeks"},"insights":true,"desc":{"en":"Total volatile organic compounds index","nl":"Index van totaal vluchtige organische stoffen","da":"Samlet indeks for flygtige organiske forbindelser","it":"Indice dei composti organici volatili totali","ko":"휘발성 유기 화합물 총량 지수","pl":"Wskaźnik wszystkich lotnych związków organicznych","ru":"Общий показатель летучих органических соединений","sv":"Index för totala mängden flyktiga organiska föreningar","es":"Índice de compuestos orgánicos volátiles en total","fr":"Indice des composés organiques volatils totaux","no":"Indeks for total mengde flyktige organiske forbindelser"},"chartType":"spline","getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_tvoc_index_changed","title":{"en":"The TVOC index has changed","nl":"De VOS-index is veranderd","da":"TVOC-indeksværdien har ændret sig","it":"L\'indice TVOC è cambiato","ko":"총휘발성유기화합물 지수 수준이 변경되면","no":"TVOC-indeksen er endret","pl":"Zmienił się wskaźnik wszystkich LZO","ru":"Значение показателя TVOC изменилось","sv":"TVOC-indexvärdet har ändrats","es":"El índice de TVOC ha cambiado","fr":"La valeur de l\'indice TVOC a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Ultraviolet","nl":"Ultraviolet","de":"Ultraviolett","fr":"Ultraviolet","it":"Ultravioletto","sv":"Ultraviolett","no":"Ultrafiolett","es":"Ultravioleta","da":"Ultraviolet","ru":"Ультрафиолетовое излучение","pl":"Promieniowanie UV","ko":"자외선"},"units":{"en":"UVI","ru":"Индекс УФ-излучения","ko":"UVI","no":"UVI"},"desc":{"en":"Ultraviolet in UV index (UVI)","de":"Ultraviolett in UV-Index (UVI)","fr":"Ultraviolet en UV-Index (UVI)","it":"Ultravioletto nell\'indice UV (UVI)","sv":"Ultraviolett i UV-Index (UVI)","no":"Ultrafiolett på UV-indeks (UVI)","es":"Ultravioleta en índice UV (UV)","da":"Ultraviolet i UV-indeks (UV)","ru":"Индекс ультрафиолетового излучения","pl":"Promieniowanie UV w indeksie UV (UVI)","ko":"자외선 UV 지수(UVI)"},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_ultraviolet_changed","title":{"en":"The ultraviolet value changed","nl":"De ultravioletwaarde is veranderd","de":"Der Ultraviolett-Wert hat sich geändert","fr":"La valeur d\'ultraviolet a changé","it":"Il valore dell\'ultravioletto è cambiato","sv":"Ultraviolettvärdet ändrades","no":"Ultrafiolettverdien ble endret","es":"La radiación ultravioleta ha cambiado","da":"UV-værdien ændrede sig","ru":"Значение УФ-излучения изменилось","pl":"Zmiana poziomu promieniowania UV","ko":"자외선 값이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":100}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Voltage","nl":"Voltage","de":"Spannung","fr":"Voltage","it":"Voltaggio","sv":"Spänning","no":"Spenning","es":"Tensión","da":"Elektrisk spænding","ru":"Вольтаж","pl":"Napięcie","ko":"전압"},"units":{"en":"V","ru":"Вольт","ko":"V"},"desc":{"en":"Voltage (V)","nl":"Voltage (V)","de":"Spannung (V)","fr":"Voltage (V)","it":"Voltaggio (V)","sv":"Spänning (V)","no":"Spenning (V)","es":"Tensión (V)","da":"Volt (V)","ru":"Вольтаж (Вольт)","pl":"Napięcie (V)","ko":"전압 볼트(V)"},"insights":true,"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_voltage_changed","title":{"en":"The voltage changed","nl":"Het voltage is veranderd","de":"Die Spannung hat sich geändert","fr":"Le voltage a changé","it":"Il voltaggio è cambiato","sv":"Spänningen ändrades","no":"Spenningen ble endret","es":"La tensión ha cambiado","da":"Den elektriske spænding ændrede sig","ru":"Вольтаж изменен","pl":"Zmiana poziomu napięcia","ko":"전압이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":7.5}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Water flow","nl":"Waterdoorstroming","de":"Wasserfluss","fr":"Débit d\'eau","it":"Flusso d\'acqua","sv":"Vattenflöde","no":"Vannstrøm","es":"Caudal del agua","da":"Vandstrøm","ru":"Поток воды","pl":"Poziom przepływu wody","ko":"유량"},"units":{"en":"L/min","ru":"Л/мин","ko":"L/min","no":"L/min"},"desc":{"en":"Water flow in liters per minute (L/min)","nl":"Waterdoorstroming in liters per minuut (L/min)","de":"Wasserfluss in Liter pro Minute (L/min)","fr":"Débit d\'eau en litres par minute (L/min)","it":"Flusso d\'acqua in litri al minuto (L/min)","sv":"Vattenflöde i liter per minut (L/min)","no":"Vannstrøm i liter per minutt (L/min)","es":"Caudal del agua en litros por minuto (L/min)","da":"Vandstrøm i liter per minut (L/min)","ru":"Поток воды в литрах в минуту (л/мин)","pl":"Poziom przepływu wody w litrach na minutę (L/min)","ko":"수량 분당 리터(L/min)"},"insights":true,"chartType":"stepLine","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_water_changed","title":{"en":"The waterflow changed","nl":"De waterstroom is veranderd","de":"Der Wasserfluss hat sich geändert","fr":"Le débit d\'eau a changé","it":"Il flusso d\'acqua è cambiato","sv":"Vattenflödet ändrades","no":"Vannstrømmen ble endret","es":"El caudal del agua ha cambiado","da":"Vandstrømmen har ændret sig","ru":"Поток воды изменился","pl":"Zmienił się przepływ wody","ko":"유량이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Weight","nl":"Gewicht","da":"Vægt","it":"Peso","ko":"무게","pl":"Waga","ru":"Вес","sv":"Vikt","es":"Peso","fr":"Poids","no":"Vekt"},"units":{"en":"g","nl":"g","da":"g","it":"g","ko":"g","pl":"g","ru":"г","sv":"g","es":"g","fr":"g","no":"g"},"desc":{"en":"Generic mass in grams; weight is used instead of mass to fit with everyday language.","nl":"Generieke massa in grammen; gewicht wordt gebruikt in plaats van massa om aan te sluiten bij het alledaagse taalgebruik.","da":"Generisk masse i gram; vægt bruges i stedet for masse for at passe til hverdagssproget.","it":"Massa generica in grammi; il peso è usato al posto della massa per adattarsi al linguaggio quotidiano.","ko":"그램은 일반적으로 질량 단위이지만, 일상 언어에 맞게 질량 대신 무게라는 용어를 사용합니다.","pl":"Ogólna masa w gramach; słowo „waga” jest użyte zamiast „masa”, aby pasowało do codziennego języka.","ru":"Общая масса в граммах; вес используется вместо массы, с учетом сложившейся традиции в повседневной речи.","sv":"Generisk massa i gram; vikt används i stället för massa för att passa in i vardagsspråket.","es":"Masa genérica en gramos; se utiliza el peso en lugar de la masa para facilitar la comprensión.","fr":"Masse générique en grammes ; le terme \\"poids\\" est utilisé au lieu de \\"masse\\" pour s\'ajuster au langage courant.","no":"Generisk masse i gram – vekt brukes i stedet for masse siden det brukes i dagligtalen."},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_weight_changed","title":{"en":"The weight changed","nl":"Het gewicht is veranderd","da":"Vægten ændrede sig","it":"Il peso è cambiato","ko":"무게가 변경되면","pl":"Zmieniła się waga","ru":"Вес изменился","sv":"Vikten ändrades","es":"El peso ha cambiado","fr":"Le poids a changé","no":"Vekten ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":2}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Wind angle","nl":"Windrichting","de":"Windrichtung","fr":"Angle du vent","it":"Angolo del vento","sv":"Vindvinkel","no":"Vindvinkel","es":"Ángulo del viento","da":"Vindvinkel","ru":"Угол ветра","pl":"Kąt wiatru","ko":"풍향각"},"units":{"en":"°","ko":"°","ru":"°"},"desc":{"en":"Wind angle in degrees (°)","nl":"Windrichting in graden (°)","de":"Windrichtung in Grad (°)","fr":"Angle du vent en degrés (°)","it":"Angolo del vento in gradi (°)","sv":"Vindvinkel i grader (°)","no":"Vindvinkel i grader (°)","es":"Ángulo del viento en grados (°)","da":"Vindvinkel i grader (°)","ru":"Угол ветра в градусах (°)","pl":"Kąt wiatru w stopniach (°)","ko":"풍향 각도(°)"},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_wind_angle_changed","title":{"en":"The wind angle changed","nl":"De windrichting is veranderd","de":"Die Windrichtung hat sich geändert","fr":"L\'angle du vent a changé","it":"L\'angolo del vento è cambiato","sv":"Vindvinkel ändrad","no":"Vindvinkel er endret","es":"El ángulo del viento ha cambiado","da":"Vindvinklen er skiftet","ru":"Угол наклона ветра изменился","pl":"Zmiana kąta wiatru","ko":"풍향각이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":36}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Wind strength","nl":"Windsnelheid","de":"Windstärke","fr":"Force du vent","it":"Forza del vento","sv":"Vindstyrka","no":"Vindstyrke","es":"Fuerza del viento","da":"Vindstyrke","ru":"Сила ветра","pl":"Siła wiatru","ko":"풍속"},"units":{"en":"km/h","ru":"км/ч","ko":"km/h","no":"km/t"},"desc":{"en":"Wind Strength in kilometer per hour (km/h)","nl":"Windsnelheid in kilometer per uur (km/u)","de":"Windstärke in Kilometer pro Stunde (km/h)","fr":"Force du vent en kilomètres par heure (km/h)","it":"Forza del vento in chilometri orari (km/h)","sv":"Vindstyrka i kilometer per timme (km/h)","no":"Vindstyrke i kilometer per time (km/t)","es":"La fuerza del viento en kilómetros por hora (km/h)","da":"Vindstyrke i kilometer i timen (km/t)","ru":"Сила ветра в км в час (км/ч)","pl":"Siła wiatru w kilometrach na godzinę (km/h)","ko":"풍속 시간당 킬로미터(km/h)"},"insights":true,"chartType":"spline","decimals":2,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"measure_wind_strength_changed","title":{"en":"The wind strength changed","nl":"De windkracht is veranderd","de":"Die Windstärke hat sich geändert","fr":"La force du vent a changé","it":"La forza del vento è cambiata","sv":"Vindstyrkan ändrades","no":"Vindstyrken ble endret","es":"La fuerza del viento ha cambiado","da":"Vindstyrken ændrede sig","ru":"Сила ветра изменилась","pl":"Zmiana siły wiatru","ko":"풍속이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":15}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Media Input","nl":"Media-invoer","da":"Medieindgang","it":"Ingresso multimediale","ko":"미디어 입력","pl":"Wejście multimedialne","ru":"Вход для устройств мультимедиа","sv":"Mediaingång","es":"Entrada de contenido multimedia","fr":"Entrée multimédia","no":"Medieinngang"},"desc":{"en":"The input channel for a media player","nl":"Het invoerkanaal voor een mediaspeler","da":"Indgangskanalen til en medieafspiller","it":"Il canale di ingresso di un lettore multimediale","ko":"미디어 플레이어의 입력 채널","pl":"Kanał wejściowy dla odtwarzacza multimedialnego","ru":"Канал ввода для медиаплеера","sv":"Ingångskanalen för en mediaspelare","es":"El canal de entrada de un reproductor multimedia","fr":"Le canal d\'entrée d\'un lecteur multimédia","no":"Inngangskanalen for en mediespiller"},"values":[{"id":"hdmi_1","title":{"en":"HDMI 1","nl":"HDMI 1","da":"HDMI 1","it":"HDMI 1","ko":"HDMI 1","pl":"HDMI 1","ru":"HDMI 1","sv":"HDMI 1","es":"HDMI 1","fr":"HDMI 1","no":"HDMI 1"}},{"id":"hdmi_2","title":{"en":"HDMI 2","nl":"HDMI 2","da":"HDMI 2","it":"HDMI 2","ko":"HDMI 2","pl":"HDMI 2","ru":"HDMI 2","sv":"HDMI 2","es":"HDMI 2","fr":"HDMI 2","no":"HDMI 2"}},{"id":"hdmi_3","title":{"en":"HDMI 3","nl":"HDMI 3","da":"HDMI 3","it":"HDMI 3","ko":"HDMI 3","pl":"HDMI 3","ru":"HDMI 3","sv":"HDMI 3","es":"HDMI 3","fr":"HDMI 3","no":"HDMI 3"}},{"id":"usb_1","title":{"en":"USB 1","nl":"USB 1","da":"USB 1","it":"USB 1","ko":"USB 1","pl":"USB 1","ru":"USB 1","sv":"USB 1","es":"USB 1","fr":"USB 1","no":"USB 1"}},{"id":"usb_2","title":{"en":"USB 2","nl":"USB 2","da":"USB 2","it":"USB 2","ko":"USB 2","pl":"USB 2","ru":"USB 2","sv":"USB 2","es":"USB 2","fr":"USB 2","no":"USB 2"}},{"id":"component","title":{"en":"Component","nl":"Component","da":"Komponent","it":"Componente","ko":"Component","pl":"Komponent","ru":"Компонент","sv":"Komponent","es":"Componente","fr":"Composant","no":"Komponent"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"media_input_changed","highlight":true,"title":{"en":"The media input changed to","nl":"De media-invoer is veranderd naar","da":"Medieindgangen blev ændret til","it":"L\'ingresso multimediale è passato a","ko":"미디어 입력이 다음으로 변경되면","pl":"Wejście multimedialne zmieniło się na","ru":"Вход для устройств мультимедиа был изменен на","sv":"Medieuppgifterna ändrades till","es":"La entrada de contenido multimedia ha cambiado a","fr":"L\'entrée multimédia est passée à","no":"Medieinngangen ble endret til"},"args":[{"name":"input","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"media_input_is","title":{"en":"The media input !{{is|is not}}","nl":"De media-invoer !{{is|is niet}}","da":"Medieindgangen !{{er|er ikke}}","it":"L\'ingresso multimediale !{{è|non è}}","ko":"미디어 입력이 다음!{{이면|이 아니면}}","pl":"Wejście multimedialne !{{jest|nie jest}}","ru":"Вход для устройств мультимедиа !{{|не}}","sv":"Mediaingången !{{är|är inte}}","es":"La entrada de contenido multimedia !{{es|no es}}","fr":"L\'entrée multimédia !{{est|n\'est pas}}","no":"Medieinngangen !{{er|er ikke}}"},"args":[{"name":"input","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_media_input","title":{"en":"Set the media input","nl":"De media-invoer instellen","da":"Indstil medieindgangen","it":"Imposta l\'ingresso multimediale","ko":"미디어 입력 설정","pl":"Ustaw wejście multimedialne","ru":"Установить вход для устройств мультимедиа ","sv":"Ställ in mediaingången","es":"Configurar la entrada de contenido multimedia","fr":"Définir l\'entrée multimédia","no":"Innstill medieinngangen"},"args":[{"name":"input","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Gas meter","nl":"Gasmeter","de":"Gaszähler","fr":"Compteur de gaz","it":"Contatore del gas","sv":"Gasmätare","no":"Gassmåler","es":"Contador de gas","da":"Gasmåler","ru":"Счетчик газа","pl":"Licznik gazowy","ko":"가스량"},"min":0,"decimals":2,"chartType":"spline","units":{"en":"m³","ru":"м³","ko":"m³","no":"m³"},"desc":{"en":"Gas usage in cubic meter (m³)","nl":"Gas gebruik in kubieke meter (m³)","de":"Gasverbrauch in Kubikmeter (m³)","fr":"Consommation de gaz en mètres cubes (m³)","it":"Consumo di gas in metri cubi (m³)","sv":"Gasanvändning i kubikmeter (m³)","no":"Gassforbruk i kubikkmeter (m³)","es":"Consumo de gas en metros cúbicos (m³)","da":"Gasforbrug i kubikmeter (m³)","ru":"Использование газа в кубометрах (м³)","pl":"Zużycie gazu w metrach sześciennych (m³)","ko":"가스 사용량 입방미터(m³)"},"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_gas_changed","title":{"en":"The gas meter changed","nl":"De gasmeter is veranderd","de":"Der Gaszähler hat sich geändert","fr":"Le compteur de gaz a changé","it":"Il contatore del gas è cambiato","sv":"Gasmätaren ändrades","no":"Gassmåleren ble endret","es":"El contador de gas ha cambiado","da":"Gasmåleren ændrede sig","ru":"Измерения счетчика газа изменились","pl":"Zmiana w liczniku gazowym","ko":"가스량이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":25}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Energy","nl":"Energie","de":"Energie","fr":"Énergie","it":"Energia","sv":"Energi","no":"Energi","es":"Energía","da":"Energi","ru":"Электроэнергия","pl":"Energia","ko":"전력량"},"decimals":2,"units":{"en":"kWh","ru":"кВтч","ko":"kWh","no":"kWh"},"desc":{"en":"Energy usage in kilowatt-hour (kWh)","nl":"Energie verbruik in kilowattuur (kWh)","de":"Energieverbrauch in Kilowattstunde (kWh)","fr":"Consommation d\'énergie en kilowatt-heure (kWh)","it":"Consumo energetico in kilowattora (kWh)","sv":"Energianvändning i kilowattimmar (kWh)","no":"Energiforbruk i kilowattimer (kWh)","es":"Uso de energía en kilovatio hora (kWh)","da":"Energiforbrug i kilowattime (kWh)","ru":"Энергопотребление в киловатт-часах (кВтч)","pl":"Zużycie energii w kilowatogodzinach (kWh)","ko":"에너지 사용량 킬로와트시(kWh)"},"chartType":"spline","options":{"isApproximated":{"type":"boolean","default":false,"desc":{"en":"This flag is used to determine that the device itself has no power measurement functionality, but that the driver calculates the energy use.","ru":"Этот флаг используется для определения того, что само устройство не имеет функции измерения электроэнергии, но драйвер рассчитывает потребление энергии.","pl":"Flaga oznacza, że samo urządzenie nie ma funkcji pomiaru mocy, ale sterownik oblicza zużycie energii.","ko":"이 플래그는 제품 자체에 전력 측정 기능이 없지만 드라이버가 전력량을 계산하는 경우에 사용돼요.","no":"Dette flagget brukes til å anmerke at enheten i seg selv ikke har noen funksjon for effektmåling, men at sjåføren beregner energibruken.","es":"Este aviso indica que el dispositivo no dispone de ninguna funcionalidad para medir la energía, sino que el controlador calcula el uso de energía."}}},"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_power_changed","title":{"en":"The power meter changed","nl":"De stroommeter is veranderd","de":"Der Gesamtverbrauch hat sich geändert","fr":"Le compteur électrique a changé","it":"Il misuratore di potenza è cambiato","sv":"Elmätaren ändrades","no":"Strømmåleren ble endret","es":"El contador de energía ha cambiado","da":"Strømmåleren ændrede sig","ru":"Измерения счетчика электроэнергии изменились","pl":"Zmiana w liczniku mocy","ko":"전력량이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":25}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Rain meter","nl":"Regenmeter","de":"Regenzähler","fr":"Compteur de pluie","it":"Misuratore di pioggia","sv":"Regnmätare","no":"Regnmåler","es":"Pluviómetro","da":"Regnmåler","ru":"Счетчик дождя","pl":"Licznik deszczu","ko":"집수량"},"units":{"en":"m³","ru":"м³","ko":"m³","no":"m³"},"chartType":"spline","desc":{"en":"Rain in cubic meter (m³)","nl":"Regen in kubieke meter (m³)","de":"Regen in Kubikmeter (m³)","fr":"Pluie en mètres cubes (m³)","it":"Pioggia in metri cubi (m³)","sv":"Regn i kubikmeter (m³)","no":"Regn i kubikkmeter (m³)","es":"Lluvia en metros cúbicos (m³)","da":"Regn i kubikmeter (m³)","ru":"Дождь в кубометрах (м³)","pl":"Deszcz w metrach sześciennych (m³)","ko":"강우량 입방미터(m³)"},"decimals":2,"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_rain_changed","title":{"en":"The rain meter changed","nl":"De regenmeter is veranderd","de":"Der Regenzähler hat sich geändert","fr":"Le compteur de pluie a changé","it":"Il misuratore di pioggia è cambiato","sv":"Regnmätaren ändrades","no":"Regnmåleren ble endret","es":"El pluviómetro ha cambiado","da":"Regnmåleren ændrede sig","ru":"Измерения дождя изменились","pl":"Zmiana w liczniku deszczu","ko":"집수량이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":1}]}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Water meter","nl":"Watermeter","de":"Wasserzähler","fr":"Compteur d\'eau","it":"Contatore dell\'acqua","sv":"Vattenmätare","no":"Vannmåler","es":"Contador de agua","da":"Vandmåler","ru":"Счетчик воды","pl":"Licznik wody","ko":"물 사용량"},"decimals":3,"min":0,"units":{"en":"m³","ru":"м³","ko":"m³","no":"m³"},"chartType":"spline","desc":{"en":"Water usage in cubic meter (m³)","nl":"Water gebruik in kubieke meter (m³)","de":"Wasserverbrauch in Kubikmeter (m³)","fr":"Consommation d\'eau en mètres cubes (m³)","it":"Utilizzo di acqua in metri cubi (m³)","sv":"Vattenanvändning i kubikmeter (m³)","no":"Vannforbruk i kubikkmeter (m³)","es":"Consumo de agua en metros cúbicos (m³)","da":"Vandforbrug i kubikmeter (m³)","ru":"Использование воды в кубометрах (м³)","pl":"Zużycie wody w metrach sześciennych (m³)","ko":"수도 사용량 입방미터(m³)"},"insights":true,"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"meter_water_changed","title":{"en":"The water meter changed","nl":"De watermeter is veranderd","de":"Der Wasserzähler hat sich geändert","fr":"Le compteur d\'eau a changé","it":"Il contatore dell\'acqua è cambiato","sv":"Vattenmätaren ändrades","no":"Vannmåleren ble endret","es":"El contador de agua ha cambiado","da":"Vandmåleren ændrede sig","ru":"Измерения счетчика воды изменились","pl":"Zmiana w liczniku wody","ko":"물 사용량이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":25}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Mower state","nl":"Staat van de maaier","da":"Plæneklipperens tilstand","it":"Stato del tosaerba","ko":"잔디깎기 상태","pl":"Stan kosiarki","ru":"Состояние косилки","sv":"Gräsllipparens tillstånd","es":"Estado del cortacésped","fr":"État de la tondeuse","no":"Gressklipperstatus"},"desc":{"en":"The current state of the lawnmower.","da":"Plæneklipperens nuværende tilstand.","it":"Lo stato attuale del tosaerba.","ko":"잔디 깎는 기계의 현재 상태입니다.","nl":"De huidige staat van de grasmaaier.","pl":"Aktualny stan kosiarki.","ru":"Текущее состояние газонокосилки.","sv":"Det aktuella tillståndet för gräsklipparen.","es":"El estado actual del cortacésped.","fr":"L\'état actuel de la tondeuse à gazon.","no":"Gressklipperens nåværende tilstand."},"values":[{"id":"mowing","title":{"en":"Mowing","da":"Klipper","it":"Falciatura in corso","ko":"작동 중","nl":"Maaien","pl":"W trakcie koszenia","ru":"Кошение","sv":"Klippning","es":"Segando","fr":"Tonte","no":"Klipper gress"}},{"id":"docked","title":{"en":"Docked","da":"Forankret","it":"Alloggiato","ko":"거치됨","nl":"Gekoppeld","pl":"Zadokowana","ru":"На док-станции","sv":"Dockad","es":"En la base de carga","fr":"À la base","no":"I stasjonen"}},{"id":"paused","title":{"en":"Paused","da":"På pause","it":"In pausa","ko":"일시 정지","nl":"Gepauzeerd","pl":"Wstrzymana","ru":"На паузе","sv":"Pausad","es":"En pausa","fr":"En pause","no":"På pause"}},{"id":"error","title":{"en":"Error","da":"Fejl","it":"Errore","ko":"에러","nl":"Fout","pl":"Błąd","ru":"Ошибка","sv":"Fel","es":"Error","fr":"Erreur","no":"Feil"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"mower_state_changed","title":{"en":"The lawnmower state changed","da":"Plæneklipperens tilstand ændrede sig","it":"Lo stato del tosaerba è cambiato","ko":"잔디깎기 상태가 변경되면","nl":"De staat van de grasmaaier is veranderd","pl":"Zmienił się stan kosiarki","ru":"Состояние газонокосилки изменилось","sv":"Läget för gräsklippare förändrades","es":"El estado del cortacésped ha cambiado","fr":"L\'état de la tondeuse à gazon a changé","no":"Gressklipperstatusen ble endret"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"mower_state_is","title":{"en":"The lawnmower !{{is|is not}}","da":"Plæneklipperen !{{er|er ikke}}","it":"Il tosaerba !{{è|non è}}","ko":"잔디깎기 상태가 다음!{{이면|이 아니면}}","nl":"De grasmaaier !{{is|is niet}}","pl":"Kosiarka !{{jest|nie jest}}","ru":"Газонокосилка !{{|не}}","sv":"Gräsklipparen !{{är|är inte}}","es":"El cortacésped !{{está|no está}}","fr":"La tondeuse !{{est|n\'est pas}}","no":"Gressklipperen !{{er|er ikke}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"mower_state_mow","title":{"en":"Start mowing","da":"Begynd at slå græs","it":"Inizia a falciare","ko":"잔디 깎기 시작","nl":"Beginnen met maaien","pl":"Rozpocznij koszenie","ru":"Начать косить","sv":"Börja klippa gräset","es":"Iniciar segado","fr":"Commencer à tondre","no":"Start gressklipping"}},{"id":"mower_state_pause","title":{"en":"Pause mowing","da":"Sæt plæneklipning på pause","it":"Sospendi la falciatura","ko":"잔디 깎기 일시중지","nl":"Maaien onderbreken","pl":"Wstrzymaj koszenie","ru":"Приостановить кошение","sv":"Pausa klippningen","es":"Pausar segado","fr":"Interrompre la tonte","no":"Sett gressklippingen på pause"}},{"id":"mower_state_dock","title":{"en":"Return to dock","da":"Vend tilbage til base","it":"Torna all\'alloggiamento","ko":"도크로 복귀","nl":"Terug naar dok","pl":"Powrót do doku","ru":"Вернуться на док-станцию","sv":"Återgå till dockan","es":"Volver a la base de carga","fr":"Retour à la base","no":"Gå tilbake til stasjonen"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Turned on","nl":"Aangezet","de":"Eingeschaltet","fr":"Activé","it":"Attivato","sv":"Aktiverad","no":"Aktivert","es":"Encendido","da":"Tændt","ru":"Включено","pl":"Włączone","ko":"전원"},"getable":true,"setable":true,"insights":true,"insightsTitleTrue":{"en":"Turned on","nl":"Aangezet","de":"Eingeschaltet","fr":"Activé","it":"Attivato","sv":"Aktiverad","no":"Aktivert","es":"Encendido","da":"Tændt","ru":"Включено","pl":"Włączone","ko":"전원 켜짐"},"insightsTitleFalse":{"en":"Turned off","nl":"Uitgezet","de":"Ausgeschaltet","fr":"Désactivé","it":"Disattivato","sv":"Inaktiverad","no":"Deaktivert","es":"Apagado","da":"Slukket","ru":"Выключено","pl":"Wyłączone","ko":"전원 꺼짐"},"options":{"setOnDim":{"type":"boolean","default":true,"desc":{"en":"When a device has both an `onoff` and `dim` capability, and Homey wants to turn the device on AND to a specific dim value, set this capability to `false` to prevent Homey from sending a set command.","de":"Wenn ein Gerät sowohl \'An/Aus\'- als auch \'Dimm\'-Fähigkeit hat und Homey das Gerät anschalten UND auf einen bestimmten Wert dimmen will, setze diese Fähigkeit auf \'false\', um Homey am Senden eines Setzen-Befehls zu hindern.","fr":"Quand un appareil peut `allumer/éteindre` et `estomper`, et que Homey veut allumer l\'appareil ET sur une valeur d\'estompage spécifique, définissez cette capacité sur `faux` pour empêcher Homey d\'envoyer une commande de définition.","it":"Quando un dispositivo può \'accendersi\' e \'attenuarsi\' e Homey desidera attivare il dispositivo E definire un valore specifico, imposta questa funzione su \'falso\' per impedire a Homey di inviare un comando di definizione.","sv":"När en enhet har både en `på/av`- och `dim`-funktionalitet och Homey vill slå på enheten OCH till ett specifikt dimvärde, sätt den här funktionen till `falsk` för att förhindra att Homey skickar ett inställningskommando.","no":"Når en enhet har både en `på/av`- og en `dempe`-funksjon og Homey vil slå på enheten OG sette dempingen til en spesifikk verdi, sett denne egenskapen til `usann` for å forhindre at Homey sender en innstillingskommando.","es":"Cuando un dispositivo tiene tanto la capacidad \'encender/apagar\' como la de \'intensidad de la luz\', y Homey quiere encender el dispositivo Y ajustar una intensidad concreta, configura esta capacidad como \'falso\' para evitar que Homey envíe un comando de configuración.","da":"Når en enhed har både en `tænd/sluk`- og en `dæmpe`-funktion, og Homey vil tænde for enheden OG indstille til en specifik dæmpeværdi, skal denne funktion indstilles til `falsk` for at forhindre, at Homey sender en indstillingskommando.","ru":"Когда устройство имеет функции `onoff` и `dim`, и Homey хочет включить устройство ТАКЖЕ с определенным значением яркости, установите для этой функции значение `false`, чтобы Homey не отправил команду на установку.","pl":"Jeśli urządzenie ma zdolności „wł.wył.” i „przygaś”, a urządzenie Homey chce włączyć produkt ORAZ ustawić konkretną wartość przygaszenia, ustaw tę zdolność jako „nieadekwatne” – w ten sposób Homey nie będzie wysyłać ustawionych poleceń.","ko":"제품에 \'전원\' 및 \'밝기\' 기능이 모두 있는데 Homey가 제품을 켜는 동시에 특정한 조절값으로 설정하길 원한다면 이 기능을 \'거짓\'으로 설정해 Homey가 설정 명령을 보내지 않도록 하세요."}},"greyout":{"type":"boolean","default":false,"desc":{"en":"When this capability is false, give a visual hint to greyout the device.","de":"wenn diese Fähigkeit \'false\' ist, gibt es einen visuellenen Hinweis, um das Gerät auszugrauen.","fr":"Quand cette capacité est fausse, donnez un indice visuel pour griser cet appareil.","it":"Quando questa funzione è impostata su falso, dai un indizio visivo per far apparire questo dispositivo in grigio.","sv":"När den här funktionen är falsk, ge en ett visuellt tips för att gråa ut enheten.","no":"Når denne egenskapen er usann, gi et visuelt tips for å vise enheten i grått.","es":"Cuando esta capacidad es falsa, da una indicación visual para poner en gris el dispositivo.","da":"Når denne funktion er falsk, skal du give et visuelt tip for at vise enheden i grå.","ru":"Когда функция ложна, установите визуальную подсказку, чтобы выделить устройство серым цветом.","pl":"Jeśli zdolność jest nieadekwatna, użyj wizualnej wskazówki, aby wyświetlić urządzenie na szaro.","ko":"이 기능이 거짓으로 설정되면 제품이 회색으로 표시되어 쉽게 식별할 수 있어요."}}},"uiComponent":"toggle","uiQuickAction":true,"$flow":{"triggers":[{"id":"onoff_true","highlight":true,"title":{"en":"Turned on","nl":"Aangezet ","de":"Angeschaltet","fr":"Activé","it":"Attivato","sv":"Aktiverad","no":"Aktivert","es":"Encendido","da":"Tændt","ru":"Включено","pl":"Włączone","ko":"켜지면"}},{"id":"onoff_false","highlight":true,"title":{"en":"Turned off","nl":"Uitgezet","de":"Ausgeschaltet","fr":"Désactivé","it":"Disattivato","sv":"Inaktiverad","no":"Deaktivert","es":"Apagado","da":"Slukket","ru":"Выключено","pl":"Wyłączone","ko":"꺼지면"}}],"conditions":[{"id":"on","title":{"en":"Is turned !{{on|off}}","nl":"Is !{{aan|uit}}","de":"Ist !{{an|aus}}","fr":"Est !{{activé|désactivé}}","it":"È !{{attivato|disattivato}}","sv":"Är !{{på|av}}","no":"Er slått !{{på|av}}","es":"Está !{{encendido|apagado}}","da":"Er !{{tændt|slukket}}","ru":"!{{Вкл.|Выкл.}}","pl":"Jest !{{włączone|wyłączone}}","ko":"!{{켜지면|꺼지면}}"}},{"id":"open","title":{"en":"Is !{{open|closed}}","nl":"Is !{{geopend|gesloten}}","de":"Ist !{{offen|geschlossen}}","fr":"Est !{{ouvert|fermé}}","it":"È !{{aperto|chiuso}}","sv":"Är !{{öppen|stängd}}","no":"Er !{{åpen|lukket}}","es":"Está !{{abierto|cerrado}}","da":"Er !{{åben|lukket}}","ru":"!{{Открыто|Закрыто}}","pl":"Jest !{{otwarte|zamknięte}}","ko":"!{{열리면|닫히면}}"},"$filter":{"class":"windowcoverings|curtain|blinds|sunshade"}}],"actions":[{"id":"on","highlight":true,"title":{"en":"Turn on","nl":"Zet aan","de":"Einschalten","fr":"Activer","it":"Attiva","sv":"Aktivera","no":"Slå på","es":"Encender","da":"Tændt","ru":"Включить","pl":"Włącz","ko":"켜기"}},{"id":"off","highlight":true,"title":{"en":"Turn off","nl":"Zet uit","de":"Ausschalten","fr":"Désactiver","it":"Disattiva","sv":"Stäng av","no":"Slå av","es":"Apagar","da":"Slukket","ru":"Выключить","pl":"Wyłącz","ko":"끄기"}},{"id":"toggle","title":{"en":"Toggle on or off","nl":"Schakel aan of uit","de":"Ein- oder ausschalten","fr":"Alterner activé ou désactivé","it":"Attiva o disattiva","sv":"Växla på och av","no":"Veksle mellom på og av","es":"Encender o apagar","da":"Tænd eller sluk","ru":"Переключатель включить/выключить","pl":"Przełącz na wł. lub wył.","ko":"켬/끔 상태 전환하기"}},{"id":"open","title":{"en":"Open the curtain or blind","nl":"Open de gordijnen","de":"Vorhang oder Rollladen öffnen","fr":"Ouvrir le rideau ou le store","it":"Apri la tenda o le persiane","sv":"Öppna gardin eller persienn","no":"Åpne gardinen eller persiennen","es":"Abrir cortina o persiana","da":"Åbn gardiner eller persienner","ru":"Открыть штору или жалюзи","pl":"Rozchyl zasłonę lub roletę","ko":"커튼 또는 블라인드 열기"},"$filter":{"class":"windowcoverings|curtain|blinds|sunshade"}},{"id":"close","title":{"en":"Close the curtain or blind","nl":"Sluit de gordijnen","de":"Vorhang oder Rollladen schließen","fr":"Fermer le rideau ou le store","it":"Chiudi la tenda o le persiane","sv":"Stäng gardin eller persienn","no":"Trekk for gardinen eller persiennen","es":"Cerrar cortina o persiana","da":"Luk gardiner eller persienner","ru":"Закрыть штору или жалюзи","pl":"Zasuń zasłonę lub roletę","ko":"커튼 또는 블라인드 닫기"},"$filter":{"class":"windowcoverings|curtain|blinds|sunshade"}}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Operational state","nl":"Operationele staat","da":"Driftstilstand","it":"Stato operativo","ko":"작동 상태","pl":"Stan działania","ru":"Рабочее состояние","sv":"Drifttillstånd","es":"Estado operativo","fr":"État opérationnel","no":"Driftstilstand"},"desc":{"en":"The operational state of the appliance.","nl":"De operationele staat van het apparaat.","da":"Apparatets driftstilstand.","it":"Lo stato operativo dell\'apparecchio.","ko":"가전의 작동 상태입니다.","pl":"Stan działania urządzenia.","ru":"Рабочее состояние прибора.","sv":"Apparatens drifttillstånd.","es":"El estado operativo del dispositivo.","fr":"L\'état de fonctionnement de l\'appareil.","no":"Apparatets driftstilstand."},"values":[{"id":"stopped","title":{"en":"Stopped","nl":"Gestopt","da":"Stoppet","it":"Interrotto","ko":"정지","pl":"Urządzenie zatrzymane","ru":"Остановлено","sv":"Stoppad","es":"Detenido","fr":"Arrêté","no":"Stoppet"}},{"id":"running","title":{"en":"Running","nl":"Bezig","da":"Kører","it":"In esecuzione","ko":"동작 중","pl":"Urządzenie pracuje","ru":"Работает","sv":"Körs","es":"En uso","fr":"En cours d\'exécution","no":"I gang"}},{"id":"paused","title":{"en":"Paused","nl":"Gepauzeerd","da":"På pause","it":"In pausa","ko":"일시정지","pl":"Urządzenie wstrzymane","ru":"На паузе","sv":"Pausad","es":"En pausa","fr":"En pause","no":"På pause"}},{"id":"error","title":{"en":"Error","nl":"Fout","da":"Fejl","it":"Errore","ko":"에러","pl":"Błąd","ru":"Ошибка","sv":"Fel","es":"Error","fr":"Erreur","no":"Feil"}}],"getable":true,"setable":false,"uiComponent":"sensor","$flow":{"triggers":[{"id":"operational_state_changed","highlight":true,"title":{"en":"The operational state changed to","nl":"De operationele staat is veranderd naar","da":"Driftstilstanden blev ændret til","it":"Lo stato operativo è passato a","ko":"작동 상태가 다음으로 변경되면","pl":"Stan działania zmienił się na","ru":"Рабочее состояние изменилось на","sv":"Drifttillståndet ändrades till","es":"El estado operativo ha cambiado a","fr":"L\'état opérationnel est passé à","no":"Driftstilstanden ble endret til"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"operational_state_is","title":{"en":"The operational state !{{is|is not}}","nl":"De operationele staat !{{is|is niet}}","da":"Driftstilstanden !{{er|er ikke}}","it":"Lo stato operativo !{{è|non è}}","ko":"작동 상태가 다음!{{이면|이 아니면}}","pl":"Stan działania !{{jest|nie jest}}","ru":"Рабочее состояние !{{|не}}","sv":"Drifttillståndet !{{är|är inte}}","es":"El estado operativo !{{está|no está}}","fr":"L\'état opérationnel !{{est|n\'est pas}}","no":"Driftstilstanden !{{er|er ikke}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Oscillating","nl":"Oscilleren","da":"Oscillerer","it":"Oscillante","ko":"회전","pl":"Oscylacja","ru":"Колебание","sv":"Oscillerande","es":"Oscilante","fr":"Oscillant","no":"Svingende"},"desc":{"en":"Enable or disable oscillation.","nl":"Schakel oscillatie in of uit.","da":"Aktiver eller deaktiver oscillation.","it":"Abilita o disabilita l\'oscillazione.","ko":"진자를 활성화 또는 비활성화합니다.","pl":"Włączenie lub wyłączenie oscylacji.","ru":"Включить или отключить колебание.","sv":"Aktivera eller inaktivera oscillation.","es":"Activa o desactiva la oscilación.","fr":"Active ou désactive l\'oscillation.","no":"Aktiver eller deaktiver svingninger."},"insights":true,"insightsTitleTrue":{"en":"Oscillation enabled","nl":"Oscillatie ingeschakeld","da":"Oscillation aktiveret","it":"Oscillazione abilitata","ko":"회전 켜짐","pl":"Oscylacja włączona","ru":"Колебание включено","sv":"Oscillation aktiverad","es":"Oscilación activada","fr":"Oscillation activée","no":"Svingning aktivert"},"insightsTitleFalse":{"en":"Oscillation disabled","nl":"Oscillatie uitgeschakeld","da":"Oscillation deaktiveret","it":"Oscillazione disabilitata","ko":"회전 꺼짐","pl":"Oscylacja wyłączona","ru":"Колебание выключено","sv":"Oscillation inaktiverad","es":"Oscilación desactivada","fr":"Oscillation désactivée","no":"Svingning deaktivert"},"getable":true,"setable":true,"uiComponent":"toggle","$flow":{"triggers":[{"id":"oscillating_true","highlight":true,"title":{"en":"Oscillation turned on","nl":"Oscillatie ingeschakeld","da":"Oscillation aktiverede","it":"Oscillazione abilitata","ko":"회전이 켜지면","pl":"Oscylacja włączona","ru":"Колебание включено","sv":"Oscillation aktiverad","es":"Oscilación activada","fr":"Oscillation activée","no":"Svingning aktivert"}},{"id":"oscillating_false","title":{"en":"Oscillation turned off","nl":"Oscillatie uitgeschakeld","da":"Oscillation deaktiverede","it":"Oscillazione disabilitata","ko":"회전이 꺼지면","pl":"Oscylacja wyłączona","ru":"Колебание выключено","sv":"Oscillation inaktiverad","es":"Oscilación desactivada","fr":"Oscillation désactivée","no":"Svingning deaktivert"}}],"conditions":[{"id":"oscillating","title":{"en":"Oscillation is !{{enabled|disabled}}","nl":"Oscillatie is !{{ingeschakeld|uitgeschakeld}}","da":"Oscillation er !{{aktiveret|deaktiveret}}","it":"L\'oscillazione è !{{abilitata|disabilitata}}","ko":"회전이 !{{켜지면|꺼지면}}","pl":"Oscylacja jest !{{włączona|wyłączona}}","ru":"Колебание !{{включено|выключено}}","sv":"Oscillation är !{{aktiverad|inaktiverad}}","es":"La oscilación está !{{activada|desactivada}}","fr":"L\'oscillation est !{{activée|désactivée}}","no":"Svingning er !{{aktivert|deaktivert}}"}}],"actions":[{"id":"enable_oscillating","title":{"en":"Enable Oscillation","nl":"Oscillatie inschakelen","da":"Aktiver oscillation","it":"Abilita l\'oscillazione","ko":"회전 켜기","pl":"Włącz oscylację","ru":"Включить колебание","sv":"Aktivera oscillation","es":"Activar oscilación","fr":"Activer l\'oscillation","no":"Aktiver svingning"}},{"id":"disable_oscillating","title":{"en":"Disable Oscillation","nl":"Oscillatie uitschakelen","da":"Deaktiver oscillation","it":"Disabilita l\'oscillazione","ko":"회전 끄기","pl":"Wyłącz oscylację","ru":"Отключить колебание","sv":"Inaktivera oscillation","es":"Desactivar oscilación","fr":"Désactiver l\'oscillation","no":"Deaktiver svingning"}},{"id":"toggle_oscillating","title":{"en":"Toggle Oscillation on or off","nl":"Oscillatie aan- of uitzetten","da":"Slå oscillation til eller fra","it":"Abilita o disabilita l\'oscillazione","ko":"회전 켬/끔 상태 전환하기","pl":"Przełącz oscylację między wł / wył","ru":"Включить или выключить колебание","sv":"Aktivera eller inaktivera oscillation","es":"Encender o apagar la oscilación","fr":"Activer ou désactiver l\'oscillation","no":"Slå svingning på eller av"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Pump mode","nl":"Pompmodus","da":"Pumpetilstand","it":"Modalità pompa","ko":"펌프 모드","pl":"Tryb pompy","ru":"Режим работы насоса","sv":"Pumpläge","es":"Modo bombeo","fr":"Mode de pompage","no":"Pumpemodus"},"desc":{"en":"Used to set which setpoint regulates the pump.","nl":"Wordt gebruikt om in te stellen welk setpoint de pomp regelt.","da":"Bruges til at indstille, hvilket indstillingspunkt der regulerer pumpen.","it":"Serve per impostare il setpoint che regola la pompa.","ko":"펌프를 조절하는 설정값을 설정하는 데 사용됩니다.","pl":"Służy do ustawiania wartości zadanej regulującej pompę.","ru":"Используется для выбора уставки, регулирующей работу насоса.","sv":"Används för att ställa in vilket börvärde som reglerar pumpen.","es":"Sirve para establecer qué valor regula el bombeo.","fr":"Permet de définir le point de réglage qui régule la pompe.","no":"Brukes til å innstille hvilket settepunkt som skal regulere pumpen."},"values":[{"id":"constant_pressure","title":{"en":"Constant Pressure","nl":"Constante druk","da":"Konstant tryk","it":"Pressione costante","ko":"일정 압력","pl":"Stałe ciśnienie","ru":"Постоянное давление","sv":"Konstant tryck","es":"Presión constante","fr":"Pression constante","no":"Konstant trykk"}},{"id":"compensated_pressure","title":{"en":"Compensated Pressure","nl":"Gecompenseerde druk","da":"Kompenseret tryk","it":"Pressione compensata","ko":"보상 압력","pl":"Kompensowane ciśnienie","ru":"Компенсированное давление","sv":"Kompenserat tryck","es":"Presión compensada","fr":"Pression compensée","no":"Kompensert trykk"}},{"id":"constant_flow","title":{"en":"Constant Flow","nl":"Constante Flow","da":"Konstant Flow","it":"Flow costante","ko":"일정 유량","pl":"Stały przepływ","ru":"Постоянный Flow","sv":"Konstant Flow","es":"Flow constante","fr":"Flow constant","no":"Konstant Flow"}},{"id":"constant_speed","title":{"en":"Constant Speed","nl":"Constante snelheid","da":"Konstant hastighed","it":"Velocità costante","ko":"일정 속도","pl":"Stała prędkość","ru":"Постоянная скорость","sv":"Konstant hastighet","es":"Velocidad constante","fr":"Vitesse constante","no":"Konstant hastighet"}},{"id":"constant_temperature","title":{"en":"Constant Temperature","nl":"Constante temperatuur","da":"Konstant temperatur","it":"Temperatura costante","ko":"일정 온도","pl":"Stała temperatura","ru":"Постоянная температура","sv":"Konstant temperatur","es":"Temperatura constante","fr":"Température constante","no":"Konstant temperatur"}},{"id":"automatic","title":{"en":"Automatic","nl":"Automatisch","da":"Automatisk","es":"Automático","fr":"Automatique","it":"Automatico","ko":"자동","no":"Automatisk","pl":"Automatyczny","ru":"Автоматический","sv":"Automatisk"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"pump_mode_changed","highlight":true,"title":{"en":"The pump mode changed to","nl":"De pompmodus is veranderd naar","da":"Pumpetilstanden blev ændret til","it":"La modalità della pompa è passata a","ko":"펌프 모드가 다음으로 변경되면","pl":"Tryb pompy zmienił się na","ru":"Режим работы насоса изменен на","sv":"Pumpläget ändrades till","es":"El modo bombeo ha cambiado a","fr":"Le mode de pompage est passé à","no":"Pumpemodus ble endret til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"pump_mode_is","title":{"en":"The pump mode !{{is|is not}}","nl":"De pompmodus !{{is|is niet}}","da":"Pumpetilstanden !{{er|er ikke}}","it":"La modalità pompa !{{è|non è}}","ko":"펌프 모드가 다음!{{이면|이 아니면}}","pl":"Tryb pompy !{{jest|nie jest}}","ru":"Режим работы насоса !{{|не}}","sv":"Pumpens läge !{{är|är inte}}","es":"El modo bombeo !{{es|no es}}","fr":"Le mode de pompage !{{est|n\'est pas}}","no":"Pumpemodusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_pump_mode","title":{"en":"Set the pump mode","nl":"De pompmodus instellen","da":"Indstil pumpetilstand","it":"Imposta la modalità della pompa","ko":"펌프 모드 설정","pl":"Ustaw trybu pompy","ru":"Установить режим работы насоса","sv":"Ställ in pumpläge","es":"Configurar el modo bombeo","fr":"Définir le mode de pompage","no":"Angi pumpemodus"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Pump setpoint","nl":"Setpoint van de pomp","da":"Pumpens indstillingspunkt","it":"Setpoint della pompa","ko":"펌프 설정값","pl":"Wartość zadana pompy","ru":"Уставка насоса","sv":"Börvärde för pump","es":"Valor de ajuste del bombeo","fr":"Point de réglage de la pompe","no":"Pumpens settepunkt"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The pump setpoint in percentage.","nl":"Het setpoint van de pomp in procenten.","da":"Pumpens indstillingspunkt i procent.","it":"Il setpoint della pompa in percentuale.","ko":"백분율로 표현된 펌프 설정값입니다.","pl":"Wartość zadana pompy w procentach.","ru":"Уставка насоса в процентах.","sv":"Pumpens börvärde i procent.","es":"El valor de ajuste del bombeo en porcentaje.","fr":"Le point de réglage de la pompe en pourcentage.","no":"Pumpens settepunkt i prosent."},"insights":true,"chartType":"spline","min":0,"max":1,"decimals":2,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"pump_setpoint_changed","title":{"en":"The pump setpoint changed","nl":"Het setpoint van de pomp is veranderd","da":"Pumpens indstillingspunkt ændrede sig","it":"Il setpoint della pompa è cambiato","ko":"펌프 설정값이 변경되면","pl":"Zmieniła się wartość zadana pompy","ru":"Уставка насоса изменена","sv":"Pumpens börvärde ändrades","es":"El valor de ajuste del bombeo ha cambiado","fr":"Le point de réglage de la pompe a changé","no":"Pumpens settpunkt ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_pump_setpoint","title":{"en":"Set the pump setpoint","nl":"Het setpoint van de pomp instellen","da":"Indstil pumpens indstillingspunkt","it":"Imposta il setpoint della pompa","ko":"펌프 설정값 설정","pl":"Ustaw wartość zadaną pompy","ru":"Определить уставку насоса","sv":"Ställ in pumpens börvärde","es":"Configurar el valor de ajuste del bombeo","fr":"Définir le point de réglage de la pompe","no":"Angi pumpens settepunkt"},"args":[{"name":"pump_setpoint","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Refrigerator Mode","nl":"Koelkastmodus","da":"Køleskabstilstand","it":"Modalità frigorifero","ko":"냉장 모드","pl":"Tryb lodówki","ru":"Режим холодильника","sv":"Kylskåpsläge","es":"Modo del frigorífico","fr":"Mode du réfrigérateur","no":"Kjøleskapsmodus"},"desc":{"en":"The mode of the refrigerator.","nl":"De modus van de koelkast.","da":"Køleskabets tilstand.","it":"La modalità del frigorifero.","ko":"냉장고의 모드입니다.","pl":"Tryb pracy lodówki.","ru":"Режим работы холодильника.","sv":"Läget för kylskåpet.","es":"El modo del frigorífico.","fr":"Le mode de fonctionnement du réfrigérateur.","no":"Kjøleskapets modus."},"values":[{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalny","ru":"Нормальный","sv":"Normal","es":"Normal","fr":"Normal","no":"Normal"}},{"id":"rapid_cooling","title":{"en":"Rapid Cooling","nl":"Snel koelen","da":"Hurtig afkøling","it":"Raffreddamento rapido","ko":"급속 냉장","pl":"Szybkie chłodzenie","ru":"Быстрое охлаждение","sv":"Snabbkylning","es":"Enfriado rápido","fr":"Refroidissement rapide","no":"Hurtigavkjøling"}},{"id":"rapid_freezing","title":{"en":"Rapid Freezing","nl":"Snel vriezen","da":"Hurtig nedfrysning","it":"Congelamento rapido","ko":"급속 냉동","pl":"Szybkie zamrażanie","ru":"Быстрая заморозка","sv":"Snabbfrysning","es":"Congelación rápida","fr":"Congélation rapide","no":"Hurtigfrysing"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"refrigerator_mode_changed","highlight":true,"title":{"en":"The mode changed to","nl":"De modus is veranderd in","da":"Tilstanden ændrede sig til","it":"La modalità è passata a","ko":"냉장 모드가 다음으로 변경되면","pl":"Tryb zmienił się na","ru":"Режим изменен на","sv":"Läget ändrades till","es":"El modo ha cambiado a","fr":"Le mode est passé à","no":"Modusen ble endret til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"refrigerator_mode_is","title":{"en":"The mode !{{is|is not}}","nl":"De modus !{{is|is niet}}","da":"Tilstanden !{{er|er ikke}}","it":"La modalità !{{è|non è}}","ko":"냉장 모드가 다음!{{이면|이 아니면}}","pl":"Tryb !{{jest|nie jest}}","ru":"Режим !{{|не}}","sv":"Läget !{{är|är inte}}","es":"El modo !{{está|no está}}","fr":"Le mode !{{est|n\'est pas}}","no":"Modusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_refrigerator_mode","title":{"en":"Set the mode to","nl":"De modus instellen op","da":"Indstil tilstanden til","it":"Imposta la modalità su","ko":"냉장 모드를 다음으로 설정","pl":"Ustaw tryb na","ru":"Установить режим на","sv":"Ställ in läget på","es":"Ajustar el modo en","fr":"Définir le mode sur","no":"Sett modusen til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Album","nl":"Album","de":"Album","fr":"Album","it":"Album","sv":"Album","no":"Album","es":"Álbum","da":"Album","ru":"Альбом","pl":"Album","ko":"앨범"},"type":"string","getable":true,"setable":false,"uiComponent":"media","$flow":{"triggers":[{"id":"speaker_album_changed","title":{"en":"The album changed","nl":"Het album is veranderd","de":"Das Album hat sich geändert","fr":"L\'album a été modifié","it":"L\'album è cambiato","sv":"Albumet ändrades","no":"Albumet ble endret","es":"El álbum ha cambiado","da":"Albummet skiftede","ru":"Альбом изменен","pl":"Zmiana albumu","ko":"앨범이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":"Life Lessons"}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Artist","nl":"Artiest","de":"Künstler","fr":"Artiste","it":"Artista","sv":"Artist","no":"Artist","es":"Artista","da":"Kunstner","ru":"Исполнитель","pl":"Wykonawca","ko":"아티스트"},"type":"string","getable":true,"setable":false,"uiComponent":"media","$flow":{"triggers":[{"id":"speaker_artist_changed","title":{"en":"The artist changed","nl":"De artiest is veranderd","de":"Der Künstler hat sich verändert","fr":"L\'artiste a été modifié","it":"L\'artista è cambiato","sv":"Artisten ändrades","no":"Artisten ble endret","es":"El artista ha cambiado","da":"Kunstneren skiftede","ru":"Исполнитель изменен","pl":"Zmiana wykonawcy","ko":"아티스트가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":"Johnny S."}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Duration","nl":"Lengte","de":"Länge","fr":"Durée","it":"Durata","sv":"Längd","no":"Varighet","es":"Duración","da":"Varighed","ru":"Продолжительность","pl":"Czas trwania","ko":"기간"},"type":"number","getable":true,"setable":false,"uiComponent":"media"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Next","nl":"Volgende","de":"Weiter","fr":"Suivant","it":"Successivo","sv":"Nästa","no":"Neste","es":"Siguiente","da":"Næste","ru":"Дальше","pl":"Dalej","ko":"다음"},"type":"boolean","getable":false,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"next","title":{"en":"Next","nl":"Volgende","de":"Weiter","fr":"Suivant","it":"Successivo","sv":"Nästa","no":"Neste","es":"Siguiente","da":"Næste","ru":"Дальше","pl":"Dalej","ko":"다음"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Playing","nl":"Afspelen","de":"Abspielen","fr":"Lire","it":"In riproduzione","sv":"Spelas","no":"Avspilles","es":"Reproduciendo","da":"Spiller","ru":"Воспроизведение","pl":"Odtwarzanie","ko":"재생 중"},"type":"boolean","getable":true,"setable":true,"uiComponent":"media","uiQuickAction":true,"$flow":{"triggers":[{"id":"speaker_playing_true","title":{"en":"Started playing","nl":"Begint af te spelen","de":"Begann zu spielen","fr":"Lecture démarrée","it":"Riproduzione avviata","sv":"Började spela","no":"Startet spilling","es":"Reproducción iniciada","da":"Begyndte at spille","ru":"Воспроизведение началось","pl":"Odtwarzanie rozpoczęte","ko":"재생이 시작되면"}},{"id":"speaker_playing_false","title":{"en":"Stopped playing","nl":"Gestopt met afspelen","de":"Hörte auf zu spielen","fr":"Lecture stoppée","it":"Riproduzione interrotta","sv":"Slutade spela","no":"Stanset spilling","es":"Reproducción detenida","da":"Stoppede med at spille","ru":"Воспроизведение приостановлено","pl":"Odtwarzanie zatrzymane","ko":"재생이 중지되면"}}],"conditions":[{"id":"is_playing","title":{"en":"Is !{{|not}} playing","nl":"Is !{{|niet}} aan het afspelen","de":"Wird !{{|nicht}} abgespielt","fr":"!{{Est|N\'est pas}} en cours de lecture","it":"!{{È|Non è}} in riproduzione","sv":"Spelas !{{|inte}}","no":"Avspilles !{{|ikke}}","es":"!{{Se está|No se está}} reproduciendo","da":"Spiller !{{|ikke}}","ru":"!{{|не}} воспроизводится","pl":"!{{odtwarza|nie odtwarza}}","ko":"재생 중!{{이면|이 아니면}}"}}],"actions":[{"id":"play","highlight":true,"title":{"en":"Play","nl":"Speel af","de":"Play","fr":"Lire","it":"Riproduci","sv":"Spela","no":"Spill av","es":"Reproducir","da":"Afspil","ru":"Воспроизвести","pl":"Odtwórz","ko":"재생"}},{"id":"pause","highlight":true,"title":{"en":"Pause","nl":"Pauzeer","de":"Pause","fr":"Pause","it":"Pausa","sv":"Pausa","no":"Pause","es":"Pausa","da":"Pause","ru":"Пауза","pl":"Pauza","ko":"일시중지"}},{"id":"toggle_playing","title":{"en":"Toggle Play/Pause","nl":"Toggle Afspelen/Pauze","de":"Play/Pause umschalten","fr":"Alterner Lire/Pause","it":"Alterna riproduzione/pausa","sv":"Växla spela/pausa","no":"Veksle mellom avspilling/pause","es":"Reproducir o pausar","da":"Skift mellem Afspil/Pause","ru":"Переключатель Воспроизвести/Пауза","pl":"Przełącz na Odtwórz/Pauza","ko":"재생/일시중지 상태 전환하기"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Position","nl":"Positie","de":"Position","fr":"Position","it":"Posizione","sv":"Position","no":"Posisjon","es":"Posición","da":"Position","ru":"Позиция","pl":"Pozycja","ko":"위치"},"type":"number","getable":true,"setable":false,"uiComponent":"media"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Previous","nl":"Vorige","de":"Zurück","fr":"Précédent","it":"Precedente","sv":"Föregående","no":"Forrige","es":"Anterior","da":"Forrige","ru":"Назад","pl":"Wróć","ko":"이전"},"type":"boolean","getable":false,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"prev","title":{"en":"Previous","nl":"Vorige","de":"Zurück","fr":"Précédent","it":"Precedente","sv":"Föregående","no":"Forrige","es":"Anterior","da":"Forrige","ru":"Назад","pl":"Wróć","ko":"이전"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Repeat","nl":"Herhalen","de":"Wiederholen","fr":"Répéter","it":"Ripeti","sv":"Upprepa","no":"Gjenta","es":"Repetir","da":"Gentag","ru":"Повторить","pl":"Powtórz","ko":"반복"},"type":"enum","values":[{"id":"none","title":{"en":"Off","nl":"Uit","de":"Aus","fr":"Arrêt","it":"Spegni","sv":"Av","no":"Av","es":"Apagar","da":"Fra","ru":"выкл","pl":"wył","ko":"끔"}},{"id":"track","title":{"en":"Repeat Track","de":"Titel wiederholen","fr":"Répéter le titre","it":"Ripeti traccia","sv":"Upprepa spår","no":"Gjenta spor","es":"Repetir pista","da":"Gentag spor","ru":"Повторить трек","pl":"Powtórz utwór","ko":"트랙 반복"}},{"id":"playlist","title":{"en":"Repeat Playlist","de":"Playlist wiederholen","fr":"Répéter la playlist","it":"Ripeti playlist","sv":"Upprepa spellista","no":"Gjenta spilleliste","es":"Repetir lista de reproducción","da":"Gentag afspilningsliste","ru":"Повторить плейлист","pl":"Powtórz składankę","ko":"재생목록 반복"}}],"getable":true,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"set_repeat","title":{"en":"Repeat","de":"Wiederholen","fr":"Répéter","it":"Ripeti","sv":"Upprepa","no":"Gjenta","es":"Repetir","da":"Gentag","ru":"Повторить","pl":"Powtórz","ko":"반복"},"args":[{"name":"value","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Shuffle","nl":"Shuffle","de":"Zufallswiedergabe","fr":"Aléatoire","it":"Ordine casuale","sv":"Blanda","no":"Tilfeldig rekkefølge","es":"Aleatorio","da":"Shuffle","ru":"В случайном порядке","pl":"Odtwarzaj losowo","ko":"셔플"},"type":"boolean","getable":true,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"set_shuffle_true","title":{"en":"Shuffle on","nl":"Shuffle aan","de":"Zufallswiedergabe an","fr":"Aléatoire activée","it":"Ordine casuale attivato","sv":"Blanda på","no":"Tilfeldig rekkefølge på","es":"Orden aleatorio activado","da":"Shufflet slået til","ru":"В случайном порядке","pl":"Włącz odtwarzanie losowe","ko":"셔플 켬"}},{"id":"set_shuffle_false","title":{"en":"Shuffle off","nl":"Shuffle uit","de":"Zufallswiedergabe aus","fr":"Aléatoire désactivée","it":"Ordine casuale disattivato","sv":"Blanda av","no":"Tilfeldig rekkefølge av","es":"Orden aleatorio desactivado","da":"Shuffle slået fra","ru":"По порядку","pl":"Wyłącz odtwarzanie losowe","ko":"셔플 끔"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Stop","nl":"Stop","da":"Stop","it":"Stop","ko":"중지","pl":"Zatrzymaj","ru":"Остановить","sv":"Stopp","es":"Detener","fr":"Arrêter","no":"Stopp"},"type":"boolean","getable":false,"setable":true,"uiComponent":"media","$flow":{"actions":[{"id":"stop","title":{"en":"Stop","nl":"Stop","da":"Stop","it":"Stop","ko":"중지","pl":"Zatrzymaj","ru":"Остановить","sv":"Stopp","es":"Detener","fr":"Arrêter","no":"Stopp"}}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Track","nl":"Track","de":"Track","fr":"Titre","it":"Traccia","sv":"Spår","no":"Spor","es":"Pista","da":"Spor","ru":"Трек","pl":"Utwór","ko":"트랙"},"type":"string","getable":true,"setable":false,"uiComponent":"media","$flow":{"triggers":[{"id":"speaker_track_changed","title":{"en":"The track changed","nl":"De track is veranderd","de":"Der Track hat sich geändert","fr":"Le titre a été modifié","it":"La traccia è cambiata","sv":"Spåret ändrades","no":"Sporet ble endret","es":"La pista ha cambiado","da":"Sporet skiftede","ru":"Трек изменен","pl":"Zmiana utworu","ko":"트랙이 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":"My World"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Swing mode","nl":"Zwenkmodus","da":"Svingtilstand","it":"Modalità oscillazione","ko":"스윙 모드","pl":"Tryb wahania","ru":"Режим поворота","sv":"Svängläge","es":"Modo oscilante","fr":"Mode de balancement","no":"Svingmodus"},"values":[{"id":"vertical","title":{"en":"Vertical","nl":"Verticaal","da":"Lodret","it":"Verticale","ko":"상하","pl":"Pionowe","ru":"Вертикальный","sv":"Vertikalt","es":"Vertical","fr":"Vertical","no":"Vertikal"}},{"id":"horizontal","title":{"en":"Horizontal","nl":"Horizontaal","da":"Vandret","it":"Orizzontale","ko":"좌우","pl":"Poziome","ru":"Горизонтальный","sv":"Horisontellt","es":"Horizontal","fr":"Horizontal","no":"Horisontal"}},{"id":"both","title":{"en":"Both","nl":"Beide","da":"Begge","it":"Entrambi","ko":"상하좌우","pl":"Oba","ru":"Оба","sv":"Båda","es":"Ambos","fr":"Les deux","no":"Begge"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"swing_mode_changed","title":{"en":"Swing mode has changed to","nl":"Zwenkmodus is veranderd in","da":"Svingtilstanden har ændret sig til","it":"La modalità oscillazione è cambiata","ko":"스윙 모드가 다음으로 변경되면","no":"Svingmodus er endret til","pl":"Tryb wahania zmienił się na","ru":"Режим поворота изменен","sv":"Svängläget har ändrats till","es":"El modo de giro ha cambiado a","fr":"Le mode de balancement a changé"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"swing_mode_is","title":{"en":"Swing mode !{{is|is not}}","nl":"Zwenkmodus !{{is|is niet}}","da":"Svingtilstand !{{er|er ikke}}","it":"La modalità swing !{{è|non è}}","ko":"스윙 모드가 다음!{{이면|이 아니면}}","pl":"Tryb wahania !{{jest|nie jest}}","ru":"Режим поворота !{{|не}}","sv":"Svängläge !{{är|är inte}}","es":"El modo de oscilación !{{es|no es}}","fr":"Le mode de balancement !{{est|n\'est pas}}","no":"Svingmodus !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_swing_mode","title":{"en":"Set swing mode to","nl":"Zwenkmodus instellen op","da":"Indstil svingtilstand til","it":"Imposta la modalità swing su","ko":"스윙 모드를 다음으로 설정","pl":"Ustaw tryb wahania na","ru":"Установить режим поворота на","sv":"Ställ in svängläge till","es":"Ajustar el modo de oscilación en","fr":"Définir le mode de balancement sur","no":"Sett svingmodus til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Target Humidity","nl":"Gewenste luchtvochtigheid","da":"Luftfugtighedsmål","it":"Umidità target","ko":"희망 습도","pl":"Docelowa wilgotność","ru":"Заданная влажность","sv":"Målfuktighet","es":"Humedad deseada","fr":"Humidité cible","no":"Ønsket fuktighet"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The target humidity level in percent.","nl":"Het gewenste vochtigheidsniveau in procenten.","da":"Den ønskede luftfugtighed i procent.","it":"Il livello di umidità target in percentuale.","ko":"백분율로 표현된 목표 습도 수준입니다.","pl":"Docelowy poziom wilgotności w procentach.","ru":"Заданный уровень влажности в процентах.","sv":"Den önskade luftfuktighetsnivån i procent.","es":"El nivel de humedad deseado en porcentaje.","fr":"Le taux d\'humidité cible en pourcentage.","no":"Ønsket fuktighetsnivå i prosent."},"min":0,"max":1,"decimals":2,"insights":true,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_humidity_changed","title":{"en":"The target humidity changed","nl":"De gewenste vochtigheid is veranderd","da":"Målfugtigheden ændrede sig","it":"L\'umidità target è cambiata","ko":"희망 습도가 변경되면","pl":"Zmieniła się docelowa wilgotność","ru":"Заданная влажность изменена","sv":"Den önskade luftfuktigheten ändrades","es":"La humedad deseada ha cambiado","fr":"L\'humidité cible a changé","no":"Ønsket fuktighet ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_target_humidity","title":{"en":"Set the humidity","nl":"De vochtigheid instellen","da":"Indstil luftfugtigheden","it":"Imposta l\'umidità","ko":"희망 습도 설정","pl":"Ustaw wilgotność","ru":"Установить уровень влажности","sv":"Ställ in luftfuktigheten","es":"Ajustar la humedad","fr":"Définir l\'humidité","no":"Angi fuktigheten"},"args":[{"name":"target_humidity","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Maximum target humidity","nl":"Maximale gewenste vochtigheid","da":"Maksimal målfugtighed","it":"Umidità target massima","ko":"최대 희망 습도","pl":"Maksymalna docelowa wilgotność","ru":"Максимальная заданная влажность","sv":"Maximal målfuktighet","es":"Humedad máxima deseada","fr":"Humidité cible maximale","no":"Maksimum ønsket fuktighet"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The high end of the target humidity level in percent.","nl":"De hoogste waarde van het gewenste vochtigheidsniveau in procenten.","da":"Den høje ende af den ønskede luftfugtighed i procent.","it":"Il massimo livello di umidità target in percentuale.","ko":"백분율로 표현한 목표 습도의 최대치입니다.","pl":"Górna granica docelowego poziomu wilgotności w procentach.","ru":"Верхний предел заданного уровня влажности в процентах.","sv":"Den övre delen av den önskade luftfuktighetsnivån i procent.","es":"El valor superior del nivel de humedad deseada en porcentaje.","fr":"Le niveau maximal de l\'humidité cible en pourcentage.","no":"Maksimum ønsket fuktighetsnivå i prosent."},"insights":true,"chartType":"stepLine","decimals":2,"min":0,"max":1,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_humidity_max_changed","title":{"en":"The maximum target humidity has changed","nl":"De maximale gewenste vochtigheid is veranderd","da":"Den maksimale målfugtighed er ændret","it":"L\'umidità target massima è cambiata","ko":"최대 희망 습도가 변경되면","no":"Maksimum ønsket fuktighet er endret","pl":"Zmieniła się maksymalna docelowa wilgotność","ru":"Максимальная заданная влажность изменена","sv":"Den högsta önskade luftfuktigheten har ändrats","es":"La humedad máxima deseada ha cambiado","fr":"L\'humidité cible maximale a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_target_humidity_max","title":{"en":"Set the maximum target humidity","nl":"De maximale gewenste vochtigheid instellen","da":"Indstil den maksimale målfugtighed","it":"Imposta l\'umidità target massima","ko":"최대 희망 습도 설정","pl":"Ustaw maksymalną docelową wilgotność","ru":"Установить максимальную заданную влажность","sv":"Ställ in den högsta önskade luftfuktigheten","es":"Ajustar la humedad máxima deseada","fr":"Définir l\'humidité cible maximale","no":"Angi maksimum ønsket fuktighet"},"args":[{"name":"target_humidity_max","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Minimum target humidity","nl":"Minimale gewenste vochtigheid","da":"Minimum målfugtighed","it":"Umidità target minima","ko":"최저 희망 습도","pl":"Minimalna docelowa wilgotność","ru":"Минимальная заданная влажность","sv":"Lägsta önskade luftfuktighet","es":"Humedad mínima deseada","fr":"Humidité cible minimale","no":"Minimum ønsket fuktighet"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The low end of the target humidity level in percent.","nl":"Het laagste niveau van de gewenste vochtigheid in procenten.","da":"Den lave ende af den ønskede luftfugtighed i procent.","it":"Il livello minimo di umidità target in percentuale.","ko":"백분율로 표현한 목표 습도의 최소치입니다.","pl":"Dolna granica docelowego poziomu wilgotności w procentach.","ru":"Нижний предел заданного уровня влажности в процентах.","es":"El valor inferior del nivel de humedad objetivo en porcentaje.","fr":"Le niveau minimal d\'humidité cible en pourcentage.","no":"Minimum ønsket fuktighetsnivå i prosent."},"insights":true,"chartType":"stepLine","decimals":2,"min":0,"max":1,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_humidity_min_changed","title":{"en":"The minimum target humidity has changed","nl":"De minimale gewenste vochtigheid is veranderd","da":"Minimum målfugtighed er ændret","it":"L\'umidità target minima è cambiata","ko":"최저 희망 습도가 변경되면","no":"Minimum ønsket fuktighet er endret","pl":"Zmieniła się minimalna docelowa wilgotność","ru":"Минимальная заданная влажность изменена","sv":"Den lägsta önskade luftfuktigheten har ändrats","es":"La humedad mínima deseada ha cambiado","fr":"L\'humidité minimale cible a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":50}]}],"actions":[{"id":"set_target_humidity_min","title":{"en":"Set the minimum target humidity","nl":"De minimale gewenste vochtigheid instellen","da":"Indstil minimum målfugtighed","it":"Imposta l\'umidità target minima","ko":"최저 희망 습도 설정","pl":"Ustaw minimalną docelową wilgotność","ru":"Установить минимальную заданную влажность","sv":"Ställ in lägsta önskade luftfuktighet","es":"Ajustar la humedad mínima deseada","fr":"Définir l\'humidité minimale cible","no":"Angi minimum ønsket fuktighet"},"args":[{"name":"target_humidity_min","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","min":4,"max":35,"title":{"en":"Target temperature","nl":"Ingestelde temperatuur","de":"Ziel-Temperatur","fr":"Température cible","it":"Temperatura nominale","sv":"Måltemperatur","no":"Ønsket temperatur","es":"Temperatura deseada","da":"Måltemperatur","ru":"Целевая температура","pl":"Cel temperatury","ko":"희망 온도"},"units":{"en":"°C","ru":"°C","ko":"°C","no":"°C"},"chartType":"stepLine","decimals":1,"insights":true,"getable":true,"setable":true,"uiComponent":"thermostat","$flow":{"triggers":[{"id":"target_temperature_changed","title":{"en":"The target temperature changed","nl":"De ingestelde temperatuur is veranderd","de":"Die Ziel-Temperatur hat sich geändert","fr":"La température cible a été modifiée","it":"La temperatura nominale è cambiata","sv":"Måltemperaturen ändrades","no":"Ønsket temperatur ble endret","es":"La temperatura deseada ha cambiado","da":"Måltemperaturen blev ændret","ru":"Целевая температура изменена","pl":"Zmiana celu temperatury","ko":"희망 온도가 변경되면"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":23.5}]}],"actions":[{"id":"target_temperature_set","highlight":true,"title":{"en":"Set the temperature","nl":"Stel de temperatuur in","de":"Die Temperatur setzen","fr":"Définir la température","it":"Imposta la temperatura","sv":"Ställ in temperaturen","no":"Innstill temperaturen","es":"Ajustar la temperatura","da":"Indstil temperaturen","ru":"Установить температуру","pl":"Ustaw temperaturę","ko":"희망 온도 설정"},"args":[{"name":"target_temperature","type":"range","min":5,"max":40,"step":0.5,"label":"°C","labelDecimals":1}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Target temperature level","nl":"Gewenst temperatuurniveau","da":"Måltemperaturniveau","it":"Livello di temperatura target","ko":"희망 온도 설정","pl":"Docelowy poziom temperatury","ru":"Уровень заданной температуры","sv":"Nivå för önskad temperatur","es":"Nivel de temperatura deseado","fr":"Niveau de température cible","no":"Ønsket temperaturnivå"},"desc":{"en":"The target temperature level of the appliance.","nl":"Het gewenste temperatuurniveau van het apparaat.","da":"Apparatets måltemperaturniveau.","it":"Il livello di temperatura target dell\'apparecchio.","ko":"가전의 목표 온도 수준입니다.","pl":"Docelowy poziom temperatury urządzenia.","ru":"Уровень заданной температуры прибора.","sv":"Apparatens önskade temperaturnivå.","es":"El nivel de temperatura deseado del dispositivo.","fr":"Le niveau de température cible de l\'appareil.","no":"Ønsket temperaturnivå for apparatet."},"values":[{"id":"low","title":{"en":"Low","nl":"Laag","da":"Lav","it":"Basso","ko":"낮음","pl":"Niski","ru":"Низкий","sv":"Låg","es":"Bajo","fr":"Faible","no":"Lavt"}},{"id":"medium","title":{"en":"Medium","nl":"Gemiddeld","da":"Medium","it":"Medio","ko":"보통","pl":"Średni","ru":"Средний","sv":"Medium","es":"Intermedio","fr":"Moyen","no":"Middels"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Høj","it":"Alto","ko":"높음","pl":"Wysoki","ru":"Высокий","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høyt"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"target_temperature_level_changed","highlight":true,"title":{"en":"The target temperature level changed to","nl":"Het gewenste temperatuurniveau is veranderd naar","da":"Måltemperaturniveauet ændret til","it":"Il livello di temperatura target è passato a","ko":"희망 온도 설정이 다음으로 변경되면","pl":"Docelowy poziom temperatury zmienił się na","ru":"Уровень заданной температуры изменен на","sv":"Den önskade temperaturnivån ändrades till","es":"El nivel de temperatura deseado ha cambiado a","fr":"Le niveau de température cible est passé à","no":"Ønsket temperaturnivå ble endret til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"target_temperature_level_is","title":{"en":"The target temperature level !{{is|is not}}","nl":"Het gewenste temperatuurniveau !{{is|is niet}}","da":"Måltemperaturniveauet !{{er|er ikke}}","it":"Il livello di temperatura target !{{è|non è}}","ko":"희망 온도 설정이 다음!{{이면|이 아니면}}","pl":"Docelowy poziom temperatury !{{jest|nie jest}}","ru":"Заданный уровень температуры !{{|не}}","sv":"Den önskade temperaturnivån !{{är|är inte}}","es":"El nivel de temperatura deseado !{{es|no es}}","fr":"Le niveau de température cible !{{est|n\'est pas}}","no":"Ønsket temperaturnivå !{{er|er ikke}}"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_target_temperature_level","title":{"en":"Set the target temperature level to","nl":"Het doeltemperatuurniveau instellen op","da":"Indstil måltemperaturniveauet til","it":"Imposta il livello di temperatura target su","ko":"희망 온도 설정을 다음으로 설정","pl":"Ustaw docelowy poziom temperatury na","ru":"Установить уровень заданной температуры на","sv":"Ställ in önskad temperaturnivå till","es":"Ajustar el nivel de temperatura deseado a","fr":"Définir le niveau de température cible sur","no":"Sett ønsket temperaturnivå til"},"args":[{"name":"level","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Maximum target temperature","nl":"Maximale gewenste temperatuur","da":"Maksimal måltemperatur","it":"Temperatura target massima","ko":"최대 희망 온도","pl":"Maksymalna docelowa tempertura","ru":"Максимальная заданная температура","sv":"Maximal måltemperatur","es":"Temperatura máxima deseada","fr":"Température cible maximale","no":"Maksimum ønsket temperatur"},"units":{"en":"°C","nl":"°C","da":"°C","it":"°C","ko":"°C","pl":"°C","ru":"°C","sv":"°C","es":"°C","fr":"°C","no":"°C"},"desc":{"en":"The high end of the temperature setpoint in degrees Celsius.","nl":"De bovengrens van het instelpunt voor temperatuur in graden Celsius.","da":"Den høje ende af temperaturindstillingspunktet i Celsius.","it":"Il setpoint massimo di temperatura in gradi Celsius.","ko":"섭씨 도 단위의 온도 설정값 최대치입니다.","pl":"Górna granica wartości zadanej temperatury w stopniach Celsjusza.","ru":"Верхний предел заданной температуры в градусах Цельсия.","sv":"Den övre delen av temperaturbörvärdet i grader Celsius.","es":"El valor superior de ajuste de la temperatura en grados centígrados.","fr":"Le niveau maximal de la température en degrés Celsius.","no":"Maksimum ønsket temperaturinnstilling i grader Celsius."},"insights":true,"chartType":"stepLine","decimals":2,"min":4,"max":35,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_temperature_max_changed","title":{"en":"The maximum target temperature has changed","nl":"De maximale gewenste temperatuur is veranderd","da":"Den maksimale måltemperatur har ændret sig","it":"La temperatura target massima è cambiata","ko":"최대 희망 온도가 변경되면","no":"Maksimum ønsket temperatur er endret","pl":"Zmieniła się maksymalna temperatura docelowa","ru":"Максимальная заданная температура изменена","sv":"Den maximala måltemperaturen har ändrats","es":"La temperatura máxima deseada ha cambiado","fr":"La température maximale cible a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}],"actions":[{"id":"set_target_temperature_max","title":{"en":"Set the maximum target temperature","nl":"De maximale gewenste temperatuur instellen","da":"Indstil den maksimale måltemperatur","it":"Imposta la temperatura target massima","ko":"최대 희망 온도 설정","pl":"Ustaw maksymalną temperaturę docelową","ru":"Установить максимальную заданную температуру","sv":"Ställ in den maximala måltemperaturen","es":"Ajustar la temperatura máxima deseada","fr":"Définir la température maximale cible","no":"Sett maksimum ønsket temperatur"},"args":[{"name":"target_temperature_max","type":"range","min":4,"max":35,"step":0.5,"example":20}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Minimum target temperature","nl":"Minimale gewenste temperatuur","da":"Minimum måltemperatur","it":"Temperatura target minima","ko":"최저 희망 온도","pl":"Minimalna temperatura docelowa","ru":"Минимальная заданная температура","sv":"Lägsta måltemperatur","es":"Temperatura mínima deseada","fr":"Température minimale cible","no":"Minimum ønsket temperatur"},"units":{"en":"°C","nl":"°C","da":"°C","it":"°C","ko":"°C","pl":"°C","ru":"°C","sv":"°C","es":"°C","fr":"°C","no":"°C"},"desc":{"en":"The low end of the temperature setpoint in degrees Celsius.","nl":"De ondergrens van het instelpunt voor temperatuur in graden Celsius.","da":"Den lave ende af temperaturindstillingspunktet i Celsius.","it":"Il setpoint minimo di temperatura in gradi Celsius.","ko":"섭씨 도 단위의 온도 설정값 최소치입니다.","pl":"Dolna granica wartości zadanej temperatury w stopniach Celsjusza.","ru":"Нижний предел уставки температуры в градусах Цельсия.","sv":"Den nedre delen av temperaturbörvärdet i grader Celsius.","es":"El valor inferior de ajuste de la temperatura en grados centígrados.\\n","fr":"Le niveau minimal de la température en degrés Celsius.","no":"Minimum ønsket temperaturinnstilling i grader Celsius."},"insights":true,"chartType":"stepLine","decimals":2,"min":4,"max":35,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"target_temperature_min_changed","title":{"en":"The minimum target temperature has changed","nl":"De minimale gewenste temperatuur is veranderd","da":"Minimum måltemperatur har ændret sig","it":"La temperatura target minima è cambiata","ko":"최저 희망 온도가 변경되면","no":"Minimum ønsket temperatur er endret","pl":"Zmieniła się minimalna temperatura docelowa","ru":"Минимальная заданная температура изменена","sv":"Den lägsta måltemperaturen har ändrats","es":"La temperatura mínima deseada ha cambiado","fr":"La température minimale cible a changé"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":20}]}],"actions":[{"id":"set_target_temperature_min","title":{"en":"Set the minimum target temperature","nl":"De minimale gewenste temperatuur instellen","da":"Indstil minimum måltemperatur","it":"Imposta la temperatura target minima","ko":"최저 희망 온도 설정","pl":"Ustaw minimalną temperaturę docelową","ru":"Установить минимальную заданную температуру","sv":"Ställ in lägsta önskade temperatur","es":"Ajustar la temperatura mínima deseada","fr":"Définir la température minimale cible","no":"Sett minimum ønsket temperatur"},"args":[{"name":"target_temperature_min","type":"range","min":4,"max":35,"step":0.5,"example":20}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Thermostat mode","nl":"Thermostaatmodus","de":"Thermostat-Modus","fr":"Mode thermostat","it":"Modalità termostato","sv":"Termostatläge","no":"Termostatmodus","es":"Modo del termostato","da":"Termostattilstand","ru":"Режим термостата","pl":"Tryb termostatu","ko":"온도조절기 모드"},"desc":{"en":"Mode of the thermostat","nl":"Modus van de thermostaat","de":"Modus des Thermostates","fr":"Mode du thermostat","it":"Modalità del termostato","sv":"Läge för termostaten","no":"Modus for termostaten","es":"Modo del termostato","da":"Tilstand for termostat","ru":"Режим термостата","pl":"Tryb termostatu","ko":"온도조절기의 모드"},"values":[{"id":"auto","title":{"en":"Automatic","nl":"Automatisch","de":"Automatisch","fr":"Automatique","it":"Automatica","sv":"Automatiskt","no":"Automatisk","es":"Automático","da":"Automatisk","ru":"Автоматически","pl":"Automatyczny","ko":"자동"}},{"id":"heat","title":{"en":"Heat","nl":"Verhitten","de":"Heizen","fr":"Chauffer","it":"Calore","sv":"Värme","no":"Varme","es":"Calentar","da":"Opvarm","ru":"Обогрев","pl":"Ogrzewanie","ko":"난방"}},{"id":"cool","title":{"en":"Cool","nl":"Koelen","de":"Kühlen","fr":"Refroidir","it":"Raffreddamento","sv":"Kyla","no":"Avkjøle","es":"Enfriar","da":"Køl ned","ru":"Охлаждение","pl":"Chłodzenie","ko":"냉방"}},{"id":"off","title":{"en":"Off","nl":"Uit","de":"Aus","fr":"Désactivé","it":"Disattivata","sv":"Av","no":"Av","es":"Desactivado","da":"Deaktiveret","ru":"Выкл","pl":"Wył","ko":"꺼짐"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"thermostat_mode_changed","title":{"en":"Thermostat mode changed","nl":"Thermostaatmodus is veranderd","de":"Thermostat-Modus hat sich geändert","fr":"Le mode du thermostat a changé","it":"La modalità del termostato è cambiata","sv":"Termostatläge ändrades","no":"Termostatmodus ble endret","es":"El modo del termostato ha cambiado","da":"Termostattilstand er blevet ændret","ru":"Режим термостата изменен","pl":"Zmiana trybu termostatu","ko":"온도조절기 모드가 변경되면"},"args":[{"name":"thermostat_mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"thermostat_mode_is","title":{"en":"Thermostat mode !{{is|is not}}","nl":"Thermostaatmodus !{{is|is niet}}","de":"Thermostat-Modus !{{ist|ist nicht}}","fr":"Mode thermostat !{{est|n\'est pas}}","it":"La modalità del termostato !{{è|non è}}","sv":"Termostatläge !{{är|är inte}}","no":"Termostatmodus !{{er|er ikke}}","es":"El modo del termostato !{{está|no está}}","da":"Termostattilstand !{{er|er ikke}}","ru":"Режим термостата !{{|не}}","pl":"Tryb termostatu !{{to|to nie}}","ko":"온도조절기 모드가 다음!{{이면|이 아니면}}"},"args":[{"name":"thermostat_mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"thermostat_mode_set","title":{"en":"Set the mode","nl":"Stel de modus in","de":"Modus setzen","fr":"Définir le mode","it":"Imposta la modalità","sv":"Ställ in läget","no":"Innstill modusen","es":"Configurar el modo","da":"Indstil tilstanden","ru":"Установить режим","pl":"Ustaw tryb","ko":"온도조절기 모드 설정"},"args":[{"name":"thermostat_mode","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Vacuum cleaner job mode","nl":"Stofzuigermodus","da":"Støvsugerens jobtilstand","it":"Modalità di lavoro dell\'aspirapolvere","ko":"청소 모드","pl":"Tryb pracy odkurzacza","ru":"Режим работы пылесоса","sv":"Dammsugarens arbetsläge","es":"Modo de trabajo del aspirador","fr":"Mode de fonctionnement de l\'aspirateur","no":"Jobbmodus for støvsuger"},"values":[{"id":"off","title":{"en":"Off","nl":"Uit","da":"Fra","it":"Off","ko":"꺼짐","pl":"Wył","ru":"Выкл.","sv":"Av","es":"Desactivado","fr":"Désactivé","no":"Av"}},{"id":"normal","title":{"en":"Normal","nl":"Normaal","da":"Normal","it":"Normale","ko":"보통","pl":"Normalny","ru":"Нормальный","sv":"Normal","es":"Normal","fr":"Normal","no":"Normal"}},{"id":"high","title":{"en":"High","nl":"Hoog","da":"Høj","it":"Alto","ko":"강력","pl":"Wysoki","ru":"Интенсивный","sv":"Hög","es":"Alto","fr":"Élevé","no":"Høy"}},{"id":"turbo","title":{"en":"Turbo","nl":"Turbo","da":"Turbo","it":"Turbo","ko":"터보","pl":"Turbo","ru":"Турбо","sv":"Turbo","es":"Turbo","fr":"Turbo","no":"Turbo"}},{"id":"mop","title":{"en":"Mop","nl":"Dweilen","da":"Moppe","it":"Lavaggio","ko":"물걸레","pl":"Mop","ru":"Швабра","sv":"Mopp","es":"Fregado","fr":"Serpillère","no":"Mopping"}},{"id":"auto","title":{"en":"Auto","nl":"Automatisch","da":"Auto","it":"Auto","ko":"자동","pl":"Auto","ru":"Авто\\n","sv":"Auto","es":"Automático","fr":"Automatique","no":"Automatisk"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"vacuumcleaner_job_mode_changed","title":{"en":"The job mode has changed","nl":"De modus is veranderd","da":"Jobtilstanden er ændret","it":"La modalità di lavoro è cambiata","ko":"작동 모드가 변경되면","no":"Jobbmodusen er endret","pl":"Zmienił się tryb pracy","ru":"Режим работы изменен","sv":"Arbetsläget har ändrats","es":"El modo de trabajo ha cambiado","fr":"Le mode de fonctionnement a changé"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"vacuumcleaner_job_mode_is","title":{"en":"The job mode !{{is|is not}}","nl":"De modus !{{is|is niet}}","da":"Jobtilstanden !{{er|er ikke}}","it":"La modalità di lavoro !{{è|non è}}","ko":"작동 모드가 다음!{{이면|이 아니면}}","pl":"Tryb pracy !{{to|to nie}}","ru":"Режим работы !{{|не}}","sv":"Arbetsläget !{{är|är inte}}","es":"El modo de trabajo !{{está|no está}}","fr":"Le mode fonctionnement !{{est|n\'est pas}}","no":"Jobbmodusen !{{er|er ikke}}"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_vacuumcleaner_job_mode","title":{"en":"Set the job mode to","nl":"De modus instellen op","da":"Indstil jobtilstanden til","it":"Imposta la modalità di lavoro su","ko":"작동 모드를 다음으로 설정","pl":"Ustaw tryb pracy na","ru":"Установить режим работы на","sv":"Ställ in arbetsläget på","es":"Ajustar el modo de trabajo en","fr":"Définir le mode de fonctionnement sur","no":"Sett jobbmodusen til"},"args":[{"name":"mode","type":"dropdown","values":"$values"}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"type":"enum","title":{"en":"Vacuum cleaner state","de":"Staubsauger-Status","fr":"Etat de l\'aspirateur","it":"Stato dell\'aspirapolvere","sv":"Dammsugarstatus","no":"Støvsugerstatus","es":"Modo de la aspiradora","da":"Støvsugerstatus","ru":"Состояние пылесоса","pl":"Stan odkurzacza","ko":"청소기 상태"},"values":[{"id":"cleaning","title":{"en":"Cleaning","nl":"Stofzuigen","de":"Staubsaugen","fr":"Aspirer","it":"Pulizia in corso","sv":"Städning","no":"Rengjøring","es":"Aspirando","da":"Støvsuger","ru":"Идет уборка","pl":"Sprzątanie","ko":"청소 중"}},{"id":"spot_cleaning","title":{"en":"Spot cleaning","nl":"Vlek schoonmaken","de":"Spot-Reinigung","fr":"Détacher","it":"Pulizia delle macchie","sv":"Områdesstädning","no":"Områderengjøring","es":"Aspirando un punto concreto","da":"Områdestøvsugning","ru":"Идет точечная уборка","pl":"Przestań sprzątać","ko":"집중 청소 중"}},{"id":"docked","title":{"en":"Docked","nl":"Op laadstation","de":"An Ladestation","fr":"Connecté à la base","it":"Connesso alla base","sv":"Dockad","no":"I ladestasjon","es":"En la base de carga","da":"I ladestation","ru":"На станции","pl":"W bazie","ko":"거치됨"}},{"id":"charging","title":{"en":"Charging","nl":"Aan het opladen","de":"Lädt auf","fr":"En charge","it":"In carica","sv":"Laddar","no":"Lader","es":"Cargando","da":"Lader","ru":"Заряжается","pl":"Ładowanie","ko":"충전 중"}},{"id":"stopped","title":{"en":"Stopped","nl":"Gestopt","de":"Gestoppt","fr":"Arrêté","it":"Fermo","sv":"Stoppad","no":"Stanset","es":"Detenida","da":"Stoppet","ru":"Остановлен","pl":"Zatrzymano","ko":"정지"}}],"getable":true,"setable":true,"uiComponent":"picker","$flow":{"triggers":[{"id":"vacuumcleaner_state_changed","title":{"en":"The state changed to...","nl":"De status is veranderd naar...","de":"Der Status hat sich geändert auf...","fr":"L\'état est passé à...","it":"Lo stato è cambiato in...","sv":"Status ändrad till...","no":"Status endret til ...","es":"El estado ha cambiado a...","da":"Status er ændret til...","ru":"Состояние изменено на…","pl":"Zmiana stanu na...","ko":"청소기 상태가 변경되면"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"vacuumcleaner_state_is","title":{"en":"The vacuum cleaner !{{is|is not}}","nl":"De stofzuiger !{{is|is niet}}","de":"Der Staubsauger !{{ist|ist nicht}}","fr":"L\'aspirateur !{{est|n\'est pas}}","it":"L\'aspirapolvere !{{è|non è}}","sv":"Dammsugaren !{{är|är inte}}","no":"Støvsugeren !{{er|er ikke}}","es":"La aspiradora !{{está|no está}}","da":"Støvsugeren !{{er|er ikke}}","ru":"Пылесос !{{|не}}","pl":"Stan odkurzacza !{{to|to nie}}","ko":"청소기 상태가 다음!{{이면|이 아니면}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"clean","highlight":true,"title":{"en":"Start cleaning","nl":"Begin met stofzuigen","de":"Mit Staubsaugen anfangen","fr":"Commencer le nettoyage","it":"Avvia la pulizia","sv":"Börja städa","no":"Begynn rengjøring","es":"Comenzar a aspirar","da":"Begynd at støvsuge","ru":"Начать уборку","pl":"Zacznij sprzątać","ko":"청소 시작"}},{"id":"spot_clean","title":{"en":"Start spot cleaning","nl":"Begin met pleksgewijs stofzuigen","de":"Mit Spot-Reinigung anfangen","fr":"Commencer le détachage","it":"Avvia la pulizia delle macchie","sv":"Starta områdesstädning","no":"Begynn områderengjøring","es":"Comenzar a aspirar un punto concreto","da":"Begynd at områdestøvsuge","ru":"Начать точечную уборку","pl":"Zacznij sprzątać punktowo","ko":"집중 청소 시작"}},{"id":"dock","highlight":true,"title":{"en":"Return to dock","nl":"Terug naar laadstation","de":"Zu Ladestation zurückkehren","fr":"Retourner à la base","it":"Ritorna alla base","sv":"Återgå till docka","no":"Gå tilbake til ladestasjon","es":"Volver a la base de carga","da":"Vend tilbage til ladestationen","ru":"Возвратиться на станцию","pl":"Wróć do bazy","ko":"도크로 복귀"}},{"id":"stop","highlight":true,"title":{"en":"Stop","nl":"Stop","de":"Stop","fr":"Arrêter","it":"Arresta","sv":"Stopp","no":"Stans","es":"Detener","da":"Stop","ru":"Стоп","pl":"Przestań","ko":"중지"}}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Valve position","nl":"Kleppositie","da":"Ventilens position","it":"Posizione della valvola","ko":"밸브 열림 정도","pl":"Pozycja zaworu","ru":"Положение клапана","sv":"Ventilposition","es":"Posición de la válvula","fr":"Position de la vanne","no":"Ventilposisjon"},"units":{"en":"%","nl":"%","da":"%","it":"%","ko":"%","pl":"%","ru":"%","sv":"%","es":"%","fr":" %","no":"%"},"desc":{"en":"The current position of the valve in percent.","nl":"De huidige positie van de klep in procenten.","da":"Ventilens aktuelle position i procent.","it":"La posizione attuale della valvola in percentuale.","ko":"백분율로 표현한 밸브의 현재 위치입니다.","pl":"Bieżąca pozycja zaworu w procentach.","ru":"Текущее положение клапана в процентах.","sv":"Ventilens aktuella position i procent.","es":"La posición actual de la válvula en porcentaje.","fr":"Position actuelle de la vanne en pourcentage.","no":"Ventilens nåværende posisjon i prosent."},"insights":true,"chartType":"spline","decimals":2,"min":0,"max":1,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"valve_position_changed","title":{"en":"The valve position changed","nl":"De kleppositie is veranderd","da":"Ventilens position er ændret","it":"La posizione della valvola è cambiata","ko":"밸브 열림이 변경되면","pl":"Zmieniła się pozycja zaworu","ru":"Положение клапана изменено","sv":"Ventilens position har ändrats","es":"La posición de la válvula la cambiado","fr":"La position de la vanne a changé","no":"Ventilposisjonen ble endret"},"tokens":[{"name":"$id","title":"$title","type":"$type","example":0.5}]}],"actions":[{"id":"set_valve_position","title":{"en":"Set the valve position","nl":"De kleppositie instellen","da":"Indstil ventilens position","it":"Imposta la posizione della valvola","ko":"밸브 열림 정도 변경","pl":"Ustaw pozycję zaworu","ru":"Установить положение клапана","sv":"Ställ in ventilens position","es":"Ajustar la posición de la válvula","fr":"Définir la position de la vanne","no":"Innstill ventilposisjonen"},"args":[{"name":"valve_position","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]},"minCompatibility":"12.2.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Volume down","nl":"Volume omlaag","de":"Lautstärke runter","fr":"Baisser le volume","it":"Volume abbassato","sv":"Volym ned","no":"Volum ned","es":"Bajar volumen","da":"Ned for lyden","ru":"Звук тише","pl":"Zmniejsz głośność","ko":"볼륨 작게"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"volume_down","highlight":true,"title":{"en":"Turn the volume down","nl":"Zet het geluid zachter","de":"Dreh die Lautstärke runter","fr":"Baisser le son","it":"Abbassa il volume","sv":"Sänk volymen","no":"Senk volumet","es":"Bajar el volumen","da":"Skru ned for lyden","ru":"Сделать звук тише","pl":"Zmniejsz poziom głośności","ko":"볼륨 낮추기"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Volume muted","nl":"Gedempt volume","de":"Lautstärke stumm","fr":"Volume sourdine","it":"Volume disattivato","sv":"Volym inaktiverad","no":"Volym dempet","es":"Silenciar volumen","da":"Lyd slået fra","ru":"Звук выключен","pl":"Głośność wyciszona","ko":"음소거"},"type":"boolean","getable":true,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"volume_mute","title":{"en":"Mute the volume","nl":"Demp het geluid","de":"Lautstärke stummschalten","fr":"Mettre le volume en sourdine","it":"Disattiva il volume","sv":"Inaktivera volymen","no":"Demp volumet","es":"Silenciar el volumen","da":"Slå lyden fra","ru":"Выключить звук","pl":"Wycisz głośność","ko":"볼륨 음소거"}},{"id":"volume_unmute","title":{"en":"Unmute the volume","nl":"Demp het geluid niet meer","de":"Lautstärke nicht mehr stummschalten","fr":"Réactiver le son","it":"Riattiva il volume","sv":"Aktivera volymen","no":"Opphev demping av volum","es":"Activar el volumen","da":"Slå lyden til","ru":"Включить звук","pl":"Włącz głośność","ko":"볼륨 음소거 해제"}},{"id":"volume_mute_toggle","title":{"en":"Toggle muted volume on or off","nl":"Gedempt volume in- of uitschakelen","de":"Stummschaltung ein- oder ausschalten","fr":"Activer ou désactiver le son coupé","it":"Attiva o disattiva il volume disattivato","sv":"Slå på eller av avstängd volym","no":"Slå dempet volum på eller av","es":"Activar el volumen o silenciar","da":"Slå dæmpet lydstyrke til eller fra","ko":"볼륨 켬/끔 상태 전환하기","ru":"Включить или выключить приглушенный звук"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Set volume","nl":"Volume instellen","de":"Lautstärke setzen","fr":"Définir le volume","it":"Imposta il volume","sv":"Ställ in volym","no":"Innstill volum","es":"Configurar volumen","da":"Indstil lydstyrken","ru":"Установить громкость","pl":"Ustaw głośność","ko":"볼륨 설정"},"type":"number","desc":{"en":"Volume","nl":"Volume","de":"Lautstärke","fr":"Volume","it":"Volume","sv":"Volym","no":"Volum","es":"Volumen","da":"Lydstyrke","ru":"Громкость","pl":"Poziom głośności","ko":"볼륨"},"chartType":"stepLine","min":0,"max":1,"decimals":2,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"setable":true,"getable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"volume_set_changed","title":{"en":"The volume changed","nl":"Het volume is veranderd","de":"Lautstärke hat sich geändert","fr":"Volume modifié","it":"Il volume è cambiato","sv":"Volymen ändrades","no":"Volumet ble endret","es":"El volumen ha cambiado","da":"Lydstyrke ændrede sig","ru":"Объем изменился","pl":"Zmienił się poziom głośności","ko":"볼륨이 변경되면"},"tokens":[{"name":"volume_set","type":"number","title":{"en":"Volume","nl":"Volume","de":"Lautstärke","fr":"Volume","it":"Volume","sv":"Volym","no":"Volum","es":"Volumen","da":"Lydstyrke","ru":"Громкость","pl":"Poziom głośności","ko":"볼륨이 다음이면"},"example":0.5}]}],"actions":[{"id":"volume_set","highlight":true,"title":{"en":"Set the volume to","nl":"Zet het volume naar","de":"Lautstärke setzen auf","fr":"Définir le volume sur","it":"Imposta il volume a","sv":"Ställ in volymen på","no":"Sett volumet til","es":"Configurar el volumen a","da":"Indstil lydstyrke til","ru":"Установить громкость на","pl":"Ustaw poziom głośności na","ko":"볼륨을 다음으로 설정"},"args":[{"name":"volume_set","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]},{"id":"volume_set_relative","title":{"en":"Set relative volume","de":"Setze relative Lautsärke","nl":"Zet relatief volume","ru":"Установить относительную громкость","pl":"Ustaw względny poziom głośności","ko":"상대 볼륨 설정","no":"Still inn relativt volum","es":"Configurar volumen relativo"},"hint":{"en":"Change the volume with respect to the device\'s current volume.","de":"Ändere die Lautstärke unter Berücksichtigung der aktuellen Lautstärke des Gerätes.","nl":"Verhoog of verlaag het volume ten opzichte van het huidige volume van het apparaat.","ko":"제품의 현재 볼륨을 기준으로 볼륨을 변경해요.","no":"Endre volumet i forhold til enhetens gjeldende volum.","ru":"Изменить громкость по отношению к текущей громкости устройства."},"args":[{"name":"volume_set","type":"range","min":-1,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Volume up","nl":"Volume omhoog","de":"Lautstärke hoch","fr":"Augmenter le volume","it":"Volume alzato","sv":"Volym upp","no":"Volum opp","es":"Subir volumen","da":"Op for lyden","ru":"Звук громче","pl":"Zwiększ głośność","ko":"볼륨 크게"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"volume_up","highlight":true,"title":{"en":"Turn the volume up","nl":"Zet het geluid harder","de":"Dreh die Lautstärke hoch","fr":"Augmenter le son","it":"Alza il volume","sv":"Vrid upp volymen","no":"Skru opp volumet","es":"Subir el volumen","da":"Skru op for lyden","ru":"Сделать звук громче","pl":"Zwiększ poziom głośności","ko":"볼륨 높이기"}}]}}')},function(e){e.exports=JSON.parse('{"type":"boolean","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыто","pl":"Zasunięte","ko":"창문 커버"},"getable":true,"setable":true,"uiComponent":"toggle","$flow":{"triggers":[{"id":"windowcoverings_closed_true","title":{"en":"Closed","nl":"Gesloten","de":"Geschlossen","fr":"Fermé","it":"Chiuse","sv":"Stängd","no":"Lukket","es":"Cerrados","da":"Lukket","ru":"Закрыто","pl":"Zasunięte","ko":"창문 커버가 닫히면"}},{"id":"windowcoverings_closed_false","title":{"en":"Opened","nl":"Geopend","de":"Offen","fr":"Ouvert","it":"Aperte","sv":"Öppen","no":"Åpen","es":"Abiertos","da":"Åben","ru":"Открыто","pl":"Rozchylone","ko":"창문 커버가 열리면"}}],"conditions":[{"id":"closed","title":{"en":"Are !{{closed|opened}}","nl":"Zijn !{{gesloten|geopend}}","de":"Sind !{{geschlossen|offen}}","fr":"Sont !{{fermés|ouverts}}","it":"Sono !{{chiuse|aperte}}","sv":"Är !{{stängda|öppnade}}","no":"Er !{{lukket|åpen}}","es":"Están !{{cerrados|abiertos}}","da":"Er !{{lukket|åben}}","ru":"!{{закрыты|открыты}}","pl":"Są !{{zasunięte|rozchylone}}","ko":"창문 커버가 !{{닫히면|열리면}}"}}],"actions":[{"id":"close","highlight":true,"title":{"en":"Close","nl":"Sluiten","de":"Schließen","fr":"Fermer","it":"Chiudi","sv":"Stäng","no":"Lukk","es":"Cerrar","da":"Luk","ru":"Закрыть","pl":"Zasuń","ko":"창문 커버 닫기"}},{"id":"open","highlight":true,"title":{"en":"Open","nl":"Openen","de":"Öffnen","fr":"Ouvrir","it":"Apri","sv":"Öppna","no":"Åpne","es":"Abrir","da":"Åbn","ru":"Открыть","pl":"Rozchyl","ko":"창문 커버 열기"}},{"id":"toggle","title":{"en":"Toggle open or closed","nl":"Schakel tussen geopend en gesloten","de":"Offen/Geschlossen umschalten","fr":"Alterner ouvert/fermé","it":"Alterna aperte/chiuse","sv":"Växla mellan öppen eller stängd","no":"Veksle mellom åpen og lukket","es":"Abrir o cerrar","da":"Skift mellem åben og lukket","ru":"Переключатель открыть/закрыть","pl":"Przełącz na rozchylone lub zasłonięte","ko":"창문 커버 열림/닫힘 상태 전환하기"}}]}}')},function(e){e.exports=JSON.parse('{"type":"number","title":{"en":"Position","nl":"Positie","de":"Position","fr":"Position","it":"Posizione","sv":"Position","no":"Posisjon","es":"Posición","da":"Position","ru":"Позиция","pl":"Pozycja","ko":"동작 제어"},"desc":{"en":"Set the position of window coverings. 0% is closed, 100% is open","de":"Die Position der Jalousien setzen. 0% ist geschlossen, 100% ist offen","fr":"Définir la position des stores. 0% est fermé, 100% est ouvert","it":"Imposta la posizione delle tapparelle. 0% è chiuse, 100% è aperte","sv":"Ställ in positionen för fönsterskydden. 0 % är stängd, 100 % är öppet","no":"Innstill vindusbeskyttelsens posisjon. 0 % er lukket, 100 % er åpen","es":"Configura la posición de los cobertores de ventanas. 0 % es \'cerrados\', 100 % es \'abiertos\'","da":"Indstil positionen af dækket for vinduet. 0% er lukket, 100% er åben","ru":"Установите позицию оконных навесов. 0% означает закрыто, 100% означает открыто","pl":"Ustaw pozycję osłon okiennych. 0% oznacza zasunięte, 100% rozchylone","ko":"창문 커버 위치를 설정합니다. 0%는 닫힘, 100%는 열림입니다."},"chartType":"stepLine","min":0,"max":1,"decimals":2,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"windowcoverings_set_changed","title":{"en":"The position changed","nl":"De positie is veranderd","de":"Position hat sich geändert","fr":"La position a changé","it":"La posizione è cambiata","sv":"Position ändrad","no":"Posisjonen ble endret","es":"La posición ha cambiado","da":"Position ændret","ru":"Позиция изменилась","pl":"Zmieniła się pozycja","ko":"창문 가림 %가 변경되면"},"tokens":[{"name":"windowcoverings_set","type":"number","title":{"en":"Position","nl":"Positie","de":"Position","fr":"Position","it":"Posizione","sv":"Position","no":"Posisjon","es":"Posición","da":"Position","ru":"Позиция","pl":"Pozycja","ko":"창문 가림 %가 다음이면"},"example":0.5}]}],"actions":[{"id":"windowcoverings_set","highlight":true,"title":{"en":"Set the position to","nl":"Zet de positie naar","de":"Setze die Position auf","fr":"Mettre la position sur","it":"Imposta la posizione su","sv":"Ställ in positionen till","no":"Innstill posisjonen til","es":"Configurar la posición como","da":"Indstil positionen til","ru":"Установите позицию на","pl":"Ustaw pozycję na","ko":"창문 가림 %를 다음으로 설정"},"hint":{"en":"Change the position to open (100%), closed (0%), or a value in between.","nl":"Verander de positie naar open (100%), gesloten (0%), of een waarde daartussen.","ru":"Измените позицию на открытую (100%), закрытую (0%) или между этими значениями.","pl":"Zmień pozycję na rozchylone (100%), zasunięte (0%) lub wartość pomiędzy.","ko":"위치를 열림(100%), 닫힘(0%) 또는 그 사이의 값으로 변경해요.","no":"Endre posisjonen til åpen (100 %), lukket (0 %) eller en verdi mellom disse."},"args":[{"name":"windowcoverings_set","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings state","nl":"Raambekledingstatus","de":"Jalousien-Status","fr":"Etat des stores","it":"Stato delle tapparelle","sv":"Status för fönsterskydd","no":"Status for vindusbeskyttelse","es":"Estado de los cobertores de ventanas","da":"Status for vinduesdække","ru":"Состояние оконных навесов","pl":"Stan osłon okiennych","ko":"창문 커버 상태"},"type":"enum","values":[{"id":"up","title":{"en":"Up","nl":"Omhoog","de":"Oben","fr":"Haut","it":"Alzate","sv":"Upp","no":"Opp","es":"Arriba","da":"Oppe","ru":"Наверх","pl":"Rozchylone","ko":"위로"}},{"id":"idle","title":{"en":"Idle","nl":"Stil","de":"Inaktiv","fr":"Inactif","it":"Socchiuse","sv":"Inaktiv","no":"Ikke aktiv","es":"Inactivos","da":"Inaktiv","ru":"В ожидании","pl":"W spoczynku","ko":"유휴"}},{"id":"down","title":{"en":"Down","nl":"Omlaag","de":"Unten","fr":"Bas","it":"Abbassate","sv":"Ned","no":"Ned","es":"Abajo","da":"Nede","ru":"Вниз","pl":"Zasunięte","ko":"아래로"}}],"getable":true,"setable":true,"uiComponent":"ternary","$flow":{"triggers":[{"id":"windowcoverings_state_changed","highlight":true,"title":{"en":"The state changed","nl":"De status is veranderd","de":"Der Status hat sich geändert","fr":"L\'état a été modifié","it":"Lo stato è cambiato","sv":"Status ändrades","no":"Status ble endret","es":"El estado ha cambiado","da":"Status blev ændret","ru":"Состояние изменено","pl":"Zmiana stanu","ko":"창문 가림 상태가 변경되면"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"conditions":[{"id":"windowcoverings_state_is","title":{"en":"The state is !{{|not}}","nl":"De status is !{{|niet}}","de":"Der Status ist !{{|nicht}}","fr":"L\'état !{{est|n\' est pas}}","it":"Lo stato !{{è|non è}}","sv":"Status är !{{|inte}}","no":"Status er !{{|ikke}}","es":"El estado !{{|no}} es","da":"Status er !{{|ikke}}","ru":"Состояние !{{|не}}","pl":"Stan to !{{|nie}}","ko":"창문 가림 상태가 다음!{{이면|이 아니면}}"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}],"actions":[{"id":"set_windowcoverings_state","highlight":true,"title":{"en":"Set state","nl":"Zet de status","de":"Status setzen","fr":"Définir l\'état","it":"Imposta lo stato","sv":"Ställ in status","no":"Innstill status","es":"Configurar estado","da":"Indstil status","ru":"Установить состояние","pl":"Ustaw stan","ko":"창문 가림 상태 설정"},"args":[{"name":"state","type":"dropdown","values":"$values"}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings tilt down","nl":"Raambekleding kantelt omlaag","de":"Jalousien nach unten gekippt","fr":"Stores baissés","it":"Tapparelle abbassate","sv":"Fönsterskydd nedfällda","no":"Vindusbeskyttelser lukket","es":"Cobertores de ventanas inclinados hacia abajo","da":"Vinduesdække nedad","ru":"Наклонить вниз оконные навесы","pl":"Zasunięcie osłon okiennych","ko":"아래로 틸트"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"tilt_down","title":{"en":"Tilt down","da":"Vip nedad","it":"Inclina verso il basso","ko":"창문 가림 기울기 아래로 틸팅","nl":"Omlaag kantelen","pl":"Odchylenie w dół","ru":"Наклон вниз","sv":"Luta ner","es":"Inclinar hacia abajo","fr":"Inclinaison vers le bas","no":"Vipp ned"}}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings tilt set","nl":"Kanteling van raambekleding ingesteld","de":"Jalousien-Kippstellung setzen","fr":"Définir l\'inclinaison des stores","it":"Imposta l\'inclinazione delle tapparelle","sv":"Ställ in lutning för fönsterskydd","no":"Innstill helning for vindusbeskyttelse","es":"Configurar la inclinación de los cobertores de ventanas","da":"Indstil hældning for vinduesdække","ru":"Угол наклона оконных навесов установлен","pl":"Ustawienie osłon okiennych","ko":"기울기"},"type":"number","min":0,"max":1,"units":{"en":"%","ko":"%","no":"%","ru":"%"},"decimals":2,"getable":true,"setable":true,"uiComponent":"slider","$flow":{"triggers":[{"id":"windowcoverings_tilt_set_changed","title":{"en":"The tilt position changed","da":"Hældningspositionen ændrede sig","it":"L\'inclinazione è cambiata","ko":"창문 가림 기울기 위치가 변경되면","nl":"De kantelpositie is veranderd","pl":"Zmieniła się pozycja odchylenia","ru":"Положение наклона изменено","sv":"Lutningsläget ändrades","es":"La inclinación ha cambiado","fr":"La position d\'inclinaison a changé","no":"Vippeposisjonen ble endret"},"tokens":[{"name":"windowcoverings_tilt_set","type":"number","title":{"en":"Position","da":"Position","it":"Posizione","ko":"창문 가림 기울기 위치가 다음이면","nl":"Positie","pl":"Pozycja","ru":"Положение","sv":"Position","es":"Posición","fr":"Position","no":"Posisjon"},"example":0.5}]}],"actions":[{"id":"windowcoverings_tilt_set","highlight":true,"title":{"en":"Set the tilt position to","da":"Indstil hældningsposition til","it":"Imposta l\'inclinazione su","ko":"창문 가림 기울기 위치를 다음으로 설정","nl":"De kantelpositie instellen op","pl":"Ustaw pozycję odchylenia na","ru":"Установить положение наклона на","sv":"Ställ in lutningsläget på","es":"Ajustar la inclinación a","fr":"Définir la position d\'inclinaison sur","no":"Sett vippeposisjonen til"},"hint":{"en":"Change the tilt position to open (100%), closed (0%), or a value in between.","da":"Skift hældningsposition til åben (100 %), lukket (0 %) eller en værdi midt imellem.","it":"Modifica l\'inclinazione su aperto (100%), chiuso (0%) o su un valore intermedio.","ko":"창문 가림 기울기 위치를 열림(100%), 닫힘(0%) 또는 그 사이의 값으로 변경해요.","nl":"Wijzig de kantelpositie in open (100%), gesloten (0%) of een waarde ertussenin.","pl":"Zmień pozycję odchylenia na otwartą (100%), zamkniętą (0%) lub wartość pośrednią.","ru":"Изменить положение наклона на «открыто» (100%), «закрыто» (0%) или выбрать промежуточное значение.","sv":"Ändra lutningsläget till öppet (100 %), stängt (0 %) eller ett värde däremellan.","es":"Cambia la inclinación a abierta (100%), cerrada (0%) o un valor intermedio.","fr":"Modifier la position de l\'inclinaison pour qu\'elle soit ouverte (100 %), fermée (0 %) ou une valeur intermédiaire.","no":"Endre vippeposisjonen til åpen (100 %), lukket (0 %) eller en mellomliggende verdi."},"args":[{"name":"windowcoverings_tilt_set","type":"range","min":0,"max":1,"step":0.01,"value":0.5,"label":"%","labelMultiplier":100,"labelDecimals":0}]}]}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window coverings tilt up","nl":"Raambekleding kantelt omhoog","de":"Jalousien nach oben gekippt","fr":"Stores levés","it":"Tapparelle alzate","sv":"Fönsterskydd öppna","no":"Vindusbeskyttelser åpne","es":"Cobertores de ventanas inclinados hacia arriba","da":"Vinduesdække opad","ru":"Приподнять оконные навесы","pl":"Rozchylenie osłon okiennych","ko":"위로 틸트"},"type":"boolean","getable":false,"setable":true,"uiComponent":"button","$flow":{"actions":[{"id":"tilt_up","title":{"en":"Tilt up","da":"Vip op","it":"Inclina verso l\'alto","ko":"창문 가림 기울기 위로 틸팅","nl":"Omhoog kantelen","pl":"Odchylenie w górę","ru":"Наклон вверх","sv":"Luta upp","es":"Inclinar hacia arriba","fr":"Inclinaison vers le haut","no":"Vipp opp"}}]}}')},function(e){e.exports=JSON.parse('["airconditioning","airfryer","airpurifier","airtreatment","amplifier","battery","bicycle","blinds","boiler","button","camera","car","coffeemachine","cooktop","curtain","dehumidifier","diffuser","dishwasher","doorbell","dryer","evcharger","fan","faucet","fireplace","freezer","fridge_and_freezer","fridge","fryer","gameconsole","garagedoor","grill","heater","heatpump","homealarm","hood","humidifier","kettle","lawnmower","light","lock","mediaplayer","microwave","mop","multicooker","networkrouter","other","oven_and_microwave","oven","petfeeder","radiator","remote","scooter","sensor","service","settopbox","shutterblinds","siren","smokealarm","socket","solarpanel","speaker","sprinkler","sunshade","thermostat","tv","vacuumcleaner","vehicle","washer_and_dryer","washer","waterheater","waterpurifier","watervalve","windowcoverings"]')},function(e,t,a){var r={"./airconditioning.json":245,"./airfryer.json":246,"./airpurifier.json":247,"./airtreatment.json":248,"./amplifier.json":249,"./battery.json":250,"./bicycle.json":251,"./blinds.json":252,"./boiler.json":253,"./button.json":254,"./camera.json":255,"./car.json":256,"./coffeemachine.json":257,"./cooktop.json":258,"./curtain.json":259,"./dehumidifier.json":260,"./diffuser.json":261,"./dishwasher.json":262,"./doorbell.json":263,"./dryer.json":264,"./evcharger.json":265,"./fan.json":266,"./faucet.json":267,"./fireplace.json":268,"./freezer.json":269,"./fridge.json":270,"./fridge_and_freezer.json":271,"./fryer.json":272,"./gameconsole.json":273,"./garagedoor.json":274,"./grill.json":275,"./heater.json":276,"./heatpump.json":277,"./homealarm.json":278,"./hood.json":279,"./humidifier.json":280,"./kettle.json":281,"./lawnmower.json":282,"./light.json":283,"./lock.json":284,"./mediaplayer.json":285,"./microwave.json":286,"./mop.json":287,"./multicooker.json":288,"./networkrouter.json":289,"./other.json":290,"./oven.json":291,"./oven_and_microwave.json":292,"./petfeeder.json":293,"./radiator.json":294,"./relay.json":295,"./remote.json":296,"./scooter.json":297,"./sensor.json":298,"./service.json":299,"./settopbox.json":300,"./shutterblinds.json":301,"./siren.json":302,"./smokealarm.json":303,"./socket.json":304,"./solarpanel.json":305,"./speaker.json":306,"./sprinkler.json":307,"./sunshade.json":308,"./thermostat.json":309,"./tv.json":310,"./vacuumcleaner.json":311,"./vehicle.json":312,"./washer.json":313,"./washer_and_dryer.json":314,"./waterheater.json":315,"./waterpurifier.json":316,"./watervalve.json":317,"./windowcoverings.json":318};function i(e){var t=n(e);return a(t)}function n(e){if(!a.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}i.keys=function(){return Object.keys(r)},i.resolve=n,e.exports=i,i.id=244},function(e){e.exports=JSON.parse('{"title":{"en":"Air Conditioner","da":"Klimaanlæg","de":"Klimaanlage","es":"Equipo de aire acondicionado","fr":"Climatiseur","it":"Climatizzatore","ko":"에어컨","nl":"Airconditioner","no":"Klimaanlegg","pl":"Klimatyzacja","ru":"Кондиционер","sv":"Luftkonditionerare"},"description":{"en":"Use this device class for airconditioners, either portable or split type units.","da":"Brug denne enhedsklasse til klimaanlæg, enten bærbare eller split-enheder.","de":"Verwenden Sie diese Geräteklasse für tragbare oder geteilte Klimageräte.","es":"Utiliza esta clase de dispositivo para equipos de aire acondicionado, ya sean portátiles o de tipo split.","fr":"Cette classe d\'appareils est utilisée pour les climatiseurs, qu\'il s\'agisse d\'unités portables ou de type split.","it":"Utilizza questa classe di dispositivi per i condizionatori, sia portatili che di tipo split.","ko":"이 디바이스 클래스는 이동식 또는 실내외기 분할형 에어컨에 사용합니다.","nl":"Gebruik deze apparaatklasse voor airconditioners, zowel draagbare als splitsysteem.","no":"Bruk denne enhetsklassen for klimaanlegg av både flyttbar og fastmontert type.","pl":"Tej klasy urządzeń należy używać do klimatyzatorów, zarówno przenośnych, jak i typu split.","ru":"Используйте этот класс устройств для кондиционеров, как переносных, так и сплит-систем.","sv":"Använd denna enhetsklass för luftkonditioneringsapparater, antingen portabla eller enheter av split-typ."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Air Fryer","da":"Airfryer","de":"Heißluftfritteuse","es":"Freidora de aire","fr":"Friteuse à air","it":"Friggitrice ad aria","ko":"에어프라이어","nl":"Airfryer","no":"Airfryer","pl":"Frytkownica beztłuszczowa","ru":"Аэрогриль","sv":"Luftfritös"},"description":{"en":"Use this device class for air fryers.","da":"Brug denne enhedsklasse til airfryers.","de":"Verwenden Sie diese Geräteklasse für Heißluftfritteusen.","es":"Utiliza esta clase de dispositivo para freidoras de aire.","fr":"Utilisez cette classe d\'appareils pour les friteuses à air.","it":"Utilizza questa classe di dispositivi per le friggitrici ad aria.","ko":"이 디바이스 클래스는 에어프라이어에 사용합니다.","nl":"Gebruik deze apparaatklasse voor airfryers.","no":"Bruk denne enhetsklassen for airfryere.","pl":"Ta klasa urządzeń jest przeznaczona dla frytkownic beztłuszczowych.","ru":"Используйте этот класс устройств для аэрогрилей.","sv":"Använd den här enhetsklassen för luftfritöser."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Air Purifier","da":"Luftrenser","de":"Luftreiniger","es":"Purificador de aire","fr":"Purificateur d\'air","it":"Purificatore d\'aria","ko":"공기청정기","nl":"Luchtreiniger","no":"Luftrenser","pl":"Oczyszczacz powietrza","ru":"Очиститель воздуха","sv":"Luftrenare"},"description":{"en":"Use this device class for air purifiers.","da":"Brug denne enhedsklasse til luftrensere.","de":"Verwenden Sie diese Geräteklasse für Luftreiniger.","es":"Utiliza esta clase de dispositivo para purificadores de aire.","fr":"Utiliser cette classe d\'appareils pour les purificateurs d\'air.","it":"Utilizza questa classe di dispositivi per i purificatori d\'aria.","ko":"이 디바이스 클래스는 공기청정기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor luchtreinigers.","no":"Bruk denne enhetsklassen for luftrensere.","pl":"Tej klasy urządzeń należy używać w przypadku oczyszczaczy powietrza.","ru":"Используйте этот класс устройств для очистителей воздуха.","sv":"Använd den häe enhetsklassen för luftrenare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Air Treatment","da":"Luftbehandling","de":"Luftbehandlung","es":"Tratamiento del aire","fr":"Traitement de l\'air","it":"Trattamento dell\'aria","ko":"공기 관리","nl":"Luchtbehandeling","no":"Luftbehandling","pl":"Oczyszczanie powietrza","ru":"Обработка воздуха","sv":"Luftbehandling"},"description":{"en":"Use this device class for any type of air treatment appliance, when the `dehumidifier`, `humidifier`, `diffuser` or `airpurifier` device class doesn\'t apply. Could be for combi units.","da":"Brug denne enhedsklasse til alle typer luftbehandlingsapparater, når enhedsklasserne `affugter`, `luftfugter`, `aromalampe` eller `luftrenser` ikke gælder. Kunne være til kombi-enheder.","de":"Verwenden Sie diese Geräteklasse für alle Arten von Luftbehandlungsgeräten, wenn die Geräteklassen „Luftentfeuchter“, „Luftbefeuchter“, „Zerstäuber“ oder „Luftreiniger“ nicht zutreffen. Dies kann etwa für Kombigeräte der Fall sein.","es":"Utiliza esta clase de dispositivo para cualquier tipo de aparato de tratamiento del aire que no pertenezca a las clases \\"Deshumidificador\\", \\"Humidificador\\", \\"Difusor\\" ni \\"Purificador de aire\\". Puede servir para unidades combinadas.","fr":"Utilisez cette classe d\'appareil pour tout type d\'appareil de traitement de l\'air, lorsque la classe d\'appareil \\"déshumidificateur\\", \\"humidificateur\\", \\"diffuseur\\" ou \\"purificateur d\'air\\" ne s\'applique pas. Il peut s\'agir d\'unités combinées.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di dispositivo per il trattamento dell\'aria, quando la classe \\"deumidificatore\\", \\"umidificatore\\", \\"diffusore\\" o \\"purificatore d\'aria\\" non è applicabile. Può essere utilizzata per le unità combinate.","ko":"이 디바이스 클래스는 \'dehumidifier\', \'humidifier\', \'diffuser\', \'airpurifier\' 디바이스 클래스가 적용되지 않는 공기 처리 가전에 사용합니다. 복합형 유닛에도 사용할 수 있습니다.","nl":"Gebruik deze apparaatklasse voor elk type luchtbehandelingsapparaat wanneer de apparaatklasse \'luchtontvochtiger\', \'luchtbevochtiger\', \'diffuser\' of \'luchtreiniger\' niet van toepassing is. Kan voor combi-eenheden zijn.","no":"Bruk denne enhetsklassen for alle typer luftbehandlingsapparater som ikke dekkes av enhetsklassene «luftavfukter», «luftfukter», «duftspreder» eller «luftrenser». Kan brukes for kombienheter.","pl":"Użyj tej klasy urządzeń dla dowolnego typu urządzenia do uzdatniania powietrza, gdy klasa urządzeń „osuszacz\\", „nawilżacz”, „dyfuzor” lub „oczyszczacz powietrza” nie ma zastosowania. Może dotyczyć jednostek combi.","ru":"Используйте этот класс устройств для любых устройств обработки воздуха, которые не относятся к классу устройств «осушитель воздуха», «увлажнитель воздуха», «диффузор» или «очиститель воздуха». Может использоваться для комбинированных устройств.","sv":"Använd den här enhetsklassen för alla typer av luftbehandlingsapparater när apparatklasserna \\"avfuktare\\", \\"luftavfuktare\\", \\"diffusor\\" eller \\"luftrenare\\" inte är tillämpliga. Kan vara för kombienheter."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형인가요?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["airpurifier","dehumidifier","diffuser","humidifier"],"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Amplifier","nl":"Versterker","de":"Verstärker","fr":"Amplificateur","it":"Amplificatore","sv":"Förstärkare","no":"Forsterker","es":"Amplificador","da":"Forstærker","ru":"Усилитель","pl":"Wzmacniacz","ko":"앰프"},"description":{"en":"Use this device class for audio amplifier devices.","de":"Nutze diese Geräteklasse für Audio-Verstärker-Geräte.","fr":"Utilisez cette classe d\'appareil pour les appareils amplificateurs audio.","it":"Utilizza questa classe di dispositivi per i dispositivi che amplificano l\'audio.","sv":"Använd den här enhetsklassne ljudförstärkarenheter.","no":"Bruk denne enhetsklassen for lydforsterkerenheter.","es":"Utiliza esta clase de dispositivo para los amplificadores de audio.","da":"Brug denne enhedsklasse til lydforstærkerenheder.","ru":"Используйте этот класс устройств для усилителей звука.","pl":"Użyj tej klasy urządzeń dla wzmacniaczy audio.","ko":"이 디바이스 클래스는 오디오 앰프 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Battery","da":"Batteri","de":"Batterie","es":"Batería","fr":"Batterie","it":"Batteria","ko":"배터리","nl":"Batterij","no":"Batteri","pl":"Bateria","ru":"Аккумулятор","sv":"Batteri"},"description":{"en":"Use this device for batteries, e.g. home battery storage.","da":"Brug denne enhedsklasse til batterier, f.eks. til opbevaring af hjemmebatterier.","de":"Verwenden Sie diese Geräteklasse für Batterien, z. B. für den Heimbatteriespeicher.","es":"Utiliza esta clase de dispositivo para baterías (por ej., almacenamiento doméstico de pilas y baterías).","fr":"Utilisez cette classe d\'appareils pour les batteries, par exemple pour le stockage des batteries domestiques.","it":"Utilizza questa classe di dispositivi per le batterie, es. accumulatore domestico.","ko":"이 디바이스 클래스는 가정용 배터리 스토리지 등 배터리류에 사용합니다.","nl":"Gebruik deze apparaatklasse voor batterijen, bijvoorbeeld voor thuisopslag van batterijen.","no":"Bruk denne enhetsklassen for batterier, f.eks. batterilagringsløsninger hjemme.","pl":"Tego urządzenia należy używać do baterii, np. do przechowywania baterii w domu.","ru":"Используйте этот класс устройств для аккумуляторов, например, для домашних накопителей энергии.","sv":"Använd den här enhetsklassen för batterier, t.ex. för batterilagring i hemmet."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Bicycle","da":"Cykel","de":"Fahrrad","es":"Bicicleta","fr":"Vélo","it":"Bicicletta","ko":"자전거","nl":"Fiets","no":"Sykkel","pl":"Rower","ru":"Велосипед","sv":"Cykel"},"description":{"en":"Use this device class for bicycles.","da":"Brug denne enhedsklasse til cykler.","de":"Verwenden Sie diese Geräteklasse für Fahrräder.","es":"Utiliza esta clase de dispositivo para bicicletas.","fr":"Utilisez cette classe d\'appareils pour les vélos.","it":"Utilizza questa classe di dispositivi per le biciclette.","ko":"이 디바이스 클래스는 자전거에 사용합니다.","nl":"Gebruik deze apparaatklasse voor fietsen.","no":"Bruk denne enhetsklassen for sykler.","pl":"Ta klasa urządzeń jest przeznaczona dla rowerów.","ru":"Используйте этот класс устройств для велосипедов.","sv":"Använd den här enhetsklassen för cyklar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Blinds","nl":"Jaloezieën & Lamellen","de":"Rolladen","fr":"Stores","it":"Tapparelle","sv":"Persienner","no":"Persienner","es":"Persianas","da":"Persienner","ru":"Жалюзи","pl":"Rolety","ko":"블라인드"},"description":{"en":"Use this device class for blinds, both horizontal and vertical.","de":"Nutze diese Geräteklasse für Rolladen, sowohl horizontal als auch vertikal.","fr":"Utilisez cette classe d\'appareil pour les stores, horizontaux et verticaux.","it":"Utilizza questa classe di dispositivi per le tapparelle, orizzontali e verticali.","sv":"Använd den här enhetsklassen för persienner, både horisontella och vertikala.","no":"Bruk denne enhetsklassen for persienner, både horisontale og vertikale.","es":"Utiliza esta clase de dispositivo para las persianas, tanto horizontales como verticales.","da":"Brug denne enhedsklasse til persienner, både vandrette og lodrette.","ru":"Используйте этот класс устройств для жалюзи, как горизонтальных, так и вертикальных.","pl":"Użyj tej klasy urządzeń dla rolet (poziomych i pionowych).","ko":"이 디바이스 클래스는 가로형 및 세로형 블라인드에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Boiler","da":"Kedel","de":"Heizkessel","es":"Caldera","fr":"Chaudière","it":"Caldaia","ko":"보일러","nl":"Boiler","no":"Varmtvannsbereder","pl":"Boiler","ru":"Котел","sv":"Värmepanna"},"description":{"en":"Use this device class for any kind of boiler, e.g. heatpump boiler, gas boiler, hot water boiler, central heating boiler.","da":"Brug denne enhedsklasse til enhver form for kedel, f.eks. varmepumpekedel, gaskedel, varmtvandskedel, centralvarmekedel.","de":"Verwenden Sie diese Geräteklasse für jede Art von Heizkessel, z. B. Wärmepumpenkessel, Gaskessel, Warmwasserboiler, Zentralheizungskessel.","es":"Utiliza esta clase de dispositivo para cualquier tipo de calentador (por ej., caldera de bomba de calor, caldera de gas, caldera de agua caliente, caldera de calefacción central, etc.).","fr":"Utilisez cette classe d\'appareils pour tout type de chaudière, par exemple une chaudière à pompe à chaleur, une chaudière à gaz, une chaudière à eau chaude, une chaudière de chauffage central.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di caldaia, es. caldaia a pompa di calore, caldaia a gas, caldaia ad acqua, caldaia con riscaldamento centralizzato.","ko":"이 디바이스 클래스는 히트펌프 보일러, 가스 보일러, 온수 보일러, 중앙난방 보일러 등 모든 종류의 보일러에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type boiler, bijv. warmtepompboiler, gasketel, warmwaterboiler, cv-ketel.","no":"Bruk denne enhetsklassen for alle slags varmtvannsberedere, f.eks. varmepumpebereder, gassbereder, varmtvannsbereder, sentral storbereder.","pl":"Tej klasy urządzeń należy używać do każdego rodzaju boilera, np. z pompą ciepła, gazowego, na ciepłą wodę, centralnego ogrzewania.","ru":"Используйте этот класс устройств для котлов любого типа, например, котла с тепловым насосом, газового котла, водонагревательного котла, котла центрального отопления.","sv":"Använd den här enhetsklassen för alla typer av pannor, t.ex. värmepumpspannor, gaspannor, varmvattenpannor, centralvärmepannor."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Button","nl":"Knop","de":"Taste","fr":"Bouton","it":"Pulsante","sv":"Knapp","no":"Knapp","es":"Botón","da":"Knap","ru":"Кнопка","pl":"Przycisk","ko":"버튼"},"description":{"en":"Use this device class for buttons, such as a remote.","de":"Nutze diese Geräteklasse für Tasten wie z. B. eine Fernbedienung.","fr":"Utilisez cette classe d\'appareil pour les boutons, comme pour une télécommande.","it":"Utilizza questa classe di dispositivi per i pulsanti, come ad esempio un telecomando.","sv":"Använd den här enhetsklassen för knappar, som en fjärrkontroll.","no":"Bruk denne enhetsklassen for knapper, f.eks. en fjernkontroll.","es":"Utiliza esta clase de dispositivo para los botones, p. ej., mandos a distancia.","da":"Brug denne enhedsklasse til knapper, f-eks. en fjernbetjening.","ru":"Используйте этот класс устройств для устройств с кнопками, например пультов.","pl":"Użyj tej klasy urządzeń dla przycisków, np. pilota.","ko":"이 디바이스 클래스는 리모컨 등 버튼이 있는 것에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Camera","nl":"Camera","de":"Kamera","fr":"Caméra","it":"Telecamera","sv":"Kamera","no":"Kamera","es":"Cámara","da":"Kamera","ru":"Камера","pl":"Kamera","ko":"카메라"},"description":{"en":"Security camera","nl":"Beveiligingscamera","de":"Überwachungskamera","fr":"Caméra de sécurité","it":"Telecamera di sicurezza","sv":"Säkerhetskamera","no":"Sikkerhetskamera","es":"Cámara de seguridad","da":"Overvågningskamera","ru":"Камера наблюдения","pl":"Kamera bezpieczeństwa","ko":"보안 카메라"}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Car","da":"Bil","de":"Auto","es":"Coche","fr":"Voiture","it":"Automobile","ko":"자동차","nl":"Auto","no":"Bil","pl":"Samochód","ru":"Автомобиль","sv":"Bil"},"description":{"en":"Use this device class for any kind of car.","da":"Brug denne enhedsklasse til enhver form for bil.","de":"Verwenden Sie diese Geräteklasse für jede Art von Auto.","es":"Utiliza esta clase de dispositivo para cualquier tipo de coche.","fr":"Cette classe d\'appareils peut être utilisée pour tout type de voiture.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di automobile.","ko":"이 디바이스는 모든 종류의 자동차에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type auto.","no":"Bruk denne enhetsklassen for alle slags biler.","pl":"Ta klasa urządzeń jest przeznaczona do każdego rodzaju samochodu.","ru":"Используйте этот класс устройств для автомобилей любого типа.","sv":"Använd den här enhetsklassen för alla typer av bilar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Coffee Machine","nl":"Koffiemachine","de":"Kaffemaschine","fr":"Machine à café","it":"Macchina per il caffè","sv":"Kaffemaskin","no":"Kaffemaskin","es":"Máquina de café","da":"Kaffemaskine","ru":"Кофемашина","pl":"Ekspres do kawy","ko":"커피머신"},"description":{"en":"Use this device class for coffee machines.","de":"Nutze diese Geräteklasse für Kaffeemaschinen.","fr":"Utilisez cette classe d\'appareil pour les machines à café.","it":"Utilizza questa classe di dispositivi per le macchine per il caffè.","sv":"Använd den här enhetsklassen för kaffemaskiner.","no":"Bruk denne enhetsklassen for kaffemaskiner.","es":"Utiliza esta clase de dispositivo para las máquinas de café.","da":"Brug denne enhedsklasse til kaffemaskiner.","ru":"Используйте этот класс устройств для кофемашин.","pl":"Użyj tej klasy urządzeń dla ekspresów do kawy.","ko":"이 디바이스 클래스는 커피머신에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Cooktop","da":"Kogeplade","de":"Kochfeld","es":"Placa de cocción","fr":"Table de cuisson","it":"Piano cottura","ko":"쿡탑","nl":"Kookplaat","no":"Koketopp","pl":"Płyta grzewcza","ru":"Варочная панель","sv":"Spishäll"},"description":{"en":"Use this device class for cooktops.","da":"Brug denne enhedsklasse til kogeplader.","de":"Verwenden Sie diese Geräteklasse für Kochfelder.","es":"Utiliza esta clase de dispositivo para placas de cocción.","fr":"Utilisez cette classe d\'appareils pour les tables de cuisson.","it":"Utilizza questa classe di dispositivi per i piani cottura.","ko":"이 디바이스 클래스는 쿡탑에 사용합니다.","nl":"Gebruik deze apparaatklasse voor kookplaten.","no":"Bruk denne enhetsklassen for koketopper.","pl":"Tej klasy urządzeń należy używać w przypadku płyt grzewczych.","ru":"Используйте этот класс устройств для варочных панелей.","sv":"Använd den här enhetsklassen för spishällar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Curtains","nl":"Gordijnen","de":"Vorhänge","fr":"Rideaux","it":"Tende","sv":"Gardiner","no":"Gardiner","es":"Cortinas","da":"Gardiner","ru":"Шторы","pl":"Zasłony","ko":"커튼"},"description":{"en":"Use this device class for curtains.","de":"Nutze diese Geräteklasse für Vorhänge.","fr":"Utilisez cette classe d\'appareil pour les rideaux.","it":"Utilizza questa classe di dispositivi per le tende.","sv":"Använd den här enheten för gardiner.","no":"Bruk denne enheten for gardiner.","es":"Utiliza esta clase de dispositivo para las cortinas.","da":"Brug denne enhedsklasse til gardiner.","ru":"Используйте этот класс устройств для штор.","pl":"Użyj tej klasy urządzeń dla zasłon.","ko":"이 디바이스 클래스는 커튼에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Dehumidifier","da":"Affugter","de":"Luftentfeuchter","es":"Deshumidificador","fr":"Déshumidificateur","it":"Deumidificatore","ko":"제습기","nl":"Luchtontvochtiger","no":"Luftavfukter","pl":"Osuszacz powietrza","ru":"Осушитель воздуха","sv":"Avfuktare"},"description":{"en":"Use this device class for dehumidifiers.","da":"Brug denne enhedsklasse til affugtere.","de":"Verwenden Sie diese Geräteklasse für Luftentfeuchter.","es":"Utiliza esta clase de dispositivo para deshumidificadores.","fr":"Utilisez cette classe d\'appareils pour les déshumidificateurs.","it":"Utilizza questa classe di dispositivi per i deumidificatori.","ko":"이 디바이스 클래스는 제습기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor luchtontvochtigers.","no":"Bruk denne enhetsklassen for luftavfuktere.","pl":"Tej klasy urządzeń należy używać w przypadku osuszaczy powietrza.","ru":"Используйте этот класс устройств для осушителей воздуха.","sv":"Använd den här enhetsklassen för avfuktare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Diffuser","da":"Aromalampe","de":"Zerstäuber","es":"Difusor","fr":"Diffuseur","it":"Diffusore","ko":"디퓨저","nl":"Diffuser","no":"Duftspreder","pl":"Dyfuzor","ru":"Диффузор","sv":"Diffusör"},"description":{"en":"User this device class for diffusers.","da":"Brug denne enhedsklasse til aromalamper.","de":"Verwenden Sie diese Geräteklasse für Zerstäuber.","es":"Utiliza esta clase de dispositivo para difusores.","fr":"Utilisez cette classe d\'appareil pour les diffuseurs.","it":"Utilizza questa classe di dispositivi per i diffusori.","ko":"이 디바이스 클래스는 디퓨저에 사용합니다.","nl":"Gebruik deze apparaatklasse voor diffusers.","no":"Bruk denne enhetsklassen for duftspredere.","pl":"Tej klasy urządzeń należy używać w przypadku dyfuzorów.","ru":"Используйте этот класс устройств для диффузоров.","sv":"Använd den här enhetsklassen för diffusörer."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Dishwasher","da":"Opvaskemaskine","de":"Geschirrspüler","es":"Lavavajillas","fr":"Lave-vaisselle","it":"Lavastoviglie","ko":"식기세척기","nl":"Vaatwasser","no":"Oppvaskmaskin","pl":"Zmywarka","ru":"Посудомоечная машина","sv":"Diskmaskin"},"description":{"en":"Use this device class for dishwashers.","da":"Brug denne enhedsklasse til opvaskemaskiner.","de":"Verwenden Sie diese Geräteklasse für Geschirrspülmaschinen.","es":"Utiliza esta clase de dispositivo para lavavajillas.","fr":"Utilisez cette classe d\'appareils pour les lave-vaisselle.","it":"Utilizza questa classe di dispositivi per le lavastoviglie.","ko":"이 디바이스 클래스는 식기세척기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor vaatwassers.","no":"Bruk denne enhetsklassen for oppvaskmaskiner.","pl":"Tej klasy urządzeń należy używać w przypadku zmywarek do naczyń.","ru":"Используйте этот класс устройств для посудомоечных машин.","sv":"Använd den här enhetsklassen för diskmaskiner."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Doorbell","nl":"Deurbel","de":"Türklingel","fr":"Sonnette","it":"Campanello","sv":"Dörrklocka","no":"Dørklokke","es":"Timbre","da":"Dørklokke","ru":"Дверной звонок","pl":"Dzwonek do drzwi","ko":"도어벨"},"description":{"en":"Use this device class for doorbells, usually together with the `button` capability.","de":"Nutze diese Geräteklasse für Türklingeln - normalerweise zusammen mit der \'button\'-Fähigkeit.","fr":"Utilisez cette classe d\'appareil pour les sonnettes, habituellement avec la capacité de `bouton`.","it":"Utilizza questa classe di dispositivi per i campanelli, di solito insieme alla funzione `pulsante`.","sv":"Använd den här enhetsklassen för dörrklockor, oftast tillsammans med `knapp`-funktionen.","es":"Utiliza esta clase de dispositivo para los timbres, generalmente junto con la capacidad \'botón\'.","da":"Brug denne enhedsklasse til dørklokker, normalt sammen med `knap`-funktionen.","no":"Bruk denne enhetsklassen for dørklokker, vanligvis sammen med «knapp»-funksjonen.","ru":"Используйте этот класс устройств для дверных звонков, обычно вместе с возможностью использовать «кнопку».","pl":"Użyj tej klasy urządzeń dla dzwonków do drzwi, zwykle razem ze zdolnością „przycisk”.","ko":"이 디바이스 클래스는 보통 \'버튼\' 기능이 있는 초인종에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Dryer","da":"Tørretumbler","de":"Trockner","es":"Secadora","fr":"Sèche-linge","it":"Asciugatrice","ko":"건조기","nl":"Droger","no":"Tørketrommel","pl":"Suszarka","ru":"Сушилка","sv":"Torktumlare"},"description":{"en":"Use this device class for dryers, if it is a combination washer/dryer use \'washer_and_dryer\'.","da":"Brug denne enhedsklasse til tørretumblere. Hvis det er en kombineret vaskemaskine/tørretumbler, skal du bruge \'washer_and_dryer\'.","de":"Verwenden Sie diese Geräteklasse für Trockner. Bei Kombingeräten mit Waschmaschine und Trockner verwenden Sie „washer_and_dryer“.","es":"Utiliza esta clase de dispositivo para secadoras. Si se trata de un equipo que contiene funciones de lavadora y secadora, utiliza la clase \'washer_and_dryer\'.","fr":"Utilisez cette classe d\'appareils pour les sèche-linge. S\'il s\'agit d\'une combinaison lave-linge/sèche-linge, utilisez \\"washer_and_dryer\\".","it":"Utilizza questa classe di dispositivi per le asciugatrici, se si tratta di una combinazione di lavatrice/asciugatrice utilizza \\"washer_and_dryer\\".","ko":"이 디바이스 클래스는 건조기에 사용하고, 세탁기/건조기 일체형의 경우 \'washer_and_dryer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor drogers, als het een was/droogcombinatie is gebruik dan \'washer_and_dryer\'.","no":"Bruk denne enhetsklassen for tørketromler. For en kombinert vaskemaskin/tørketrommel, bruk «washer_and_dryer».","pl":"Użyj tej klasy urządzeń dla suszarek, jeśli jest to pralko-suszarka, użyj „washer_and_dryer”.","ru":"Используйте этот класс устройств для сушилок; в случае стиральной машины-сушилки используйте washer_and_dryer.","sv":"Använd den här enhetsklassen för torktumlare, om det är en kombinerad tvättmaskin/torktumlare ska du använda \'washer_and_dryer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"EV Charger","da":"Ladestationer til elbiler","de":"E-Auto-Ladegerät","es":"Cargador de vehículo eléctrico","fr":"Chargeur EV","it":"Caricatore di veicoli elettrici","ko":"전기차 충전기","nl":"EV-lader","no":"Elbillader","pl":"Ładowarka pojazdów elektrycznych","ru":"Зарядное устройство для электромобилей","sv":"Laddare för elfordon"},"description":{"en":"Use this device class for EV chargers.","da":"Brug denne enhedsklasse til ladestationer til elbiler.","de":"Verwenden Sie diese Geräteklasse für E-Auto-Ladegeräte.","es":"Utiliza esta clase de dispositivo para cargadores de vehículos eléctricos.","fr":"Utilisez cette classe d\'appareils pour les chargeurs de véhicules électriques.","it":"Utilizza questa classe di dispositivi per i caricatori di veicoli elettrici.","ko":"이 디바이스 클래스는 EV 충전기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor EV-laders.","no":"Bruk denne enhetsklassen for elbilladere.","pl":"Ta klasa urządzeń jest przeznaczona dla ładowarek pojazdów elektrycznych.","ru":"Используйте этот класс устройств для зарядных устройств для электромобилей.","sv":"Använd den hät enhetsklassen för elfordonsladdare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fan","nl":"Ventilator","de":"Ventilator","fr":"Ventilateur","it":"Ventilatore","sv":"Fläkt","no":"Vifte","es":"Ventilador","da":"Ventilator","ru":"Вентилятор","pl":"Wentylator","ko":"팬"},"description":{"en":"Use this device class for fans that cool your home.","de":"Nutze diese Geräteklasse für Ventilatoren, die dein Heim kühlen.","fr":"Utilisez cette classe d\'appareil pour les ventilateurs qui refroidissent votre maison.","it":"Utilizza questa classe di dispositivi per i ventilatori che rinfrescano la tua casa.","sv":"Använd den här enhetsklassen för fläktar som kyler ned hemmet.","no":"Bruk denne enhetsklassen for vifter som avkjøler boligen din.","es":"Utiliza esta clase de dispositivo para los ventiladores que enfrían la casa.","da":"Brug denne enhedsklasse til ventilatorer, der køler dit hjem ned.","ru":"Используйте этот класс устройств для вентиляторов, которые охлаждают ваш дом.","pl":"Użyj tej klasy urządzeń dla wentylatorów, które chłodzą dom.","ko":"이 디바이스 클래스는 집에서 시원하게 지내게 해주는 선풍기에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Faucet","da":"Vandhane","de":"Wasserhahn","es":"Grifo","fr":"Robinet","it":"Rubinetto","ko":"수전","nl":"Kraan","no":"Kran","pl":"Kran","ru":"Смеситель","sv":"Kran"},"description":{"en":"Use this device class for faucets.","da":"Brug denne enhedsklasse til vandhaner.","de":"Verwenden Sie diese Geräteklasse für Wasserhähne.","es":"Utilice esta clase de dispositivo para grifos.","fr":"Utilisez cette classe d\'appareils pour les robinets.","it":"Utilizza questa classe di dispositivi per i rubinetti.","ko":"이 디바이스 클래스는 수도 등의 수전에 사용합니다.","nl":"Gebruik deze apparaatklasse voor kranen.","no":"Bruk denne enhetsklassen for kraner.","pl":"Tej klasy urządzeń należy używać w przypadku kranów.","ru":"Используйте этот класс устройств для смесителей.","sv":"Använd den här enhetsklassen för kranar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fireplace","da":"Ildsted","de":"Kamin","es":"Chimenea","fr":"Cheminée","it":"Camino","ko":"난로","nl":"Open haard","no":"Peis","pl":"Kominek","ru":"Камин","sv":"Öppen spis"},"description":{"en":"Use this device class for fireplaces.","da":"Brug denne enhedsklasse til ildsteder.","de":"Verwenden Sie diese Geräteklasse für Kamine.","es":"Utiliza esta clase de dispositivo para chimeneas.","fr":"Utilisez cette classe d\'appareils pour les cheminées.","it":"Utilizza questa classe di dispositivi per i camini.","ko":"이 디바이스 클래스는 난로에 사용합니다.","nl":"Gebruik deze apparaatklasse voor open haarden.","no":"Bruk denne enhetsklassen for peiser.","pl":"Tej klasy urządzeń należy używać w przypadku kominków.","ru":"Используйте этот класс устройств для каминов.","sv":"Använd den här enhetsklassen för öppna spisar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Freezer","da":"Fryser","de":"Gefrierschrank","es":"Congelador","fr":"Congélateur","it":"Congelatore","ko":"냉동고","nl":"Diepvries","no":"Fryser","pl":"Zamrażarka","ru":"Морозильная камера","sv":"Frys"},"description":{"en":"Use this device class for any kind of freezer, if it is a frigde/freezer use \'fridge_and_freezer\'.","da":"Brug denne enhedsklasse til enhver form for fryser. Hvis det er et køleskab/fryser, skal du bruge \'fridge_and_freezer\'.","de":"Verwenden Sie diese Geräteklasse für jede Art von Gefrierschränken. Für Kühl- und Gefrierschränke verwenden Sie „fridge_and_freezer“.","es":"Utiliza esta clase de dispositivo para cualquier tipo de congelador. Si se trata de un frigorífico con congelador, utiliza la clase \'fridge_and_freezer\'.","fr":"Utilisez cette classe d\'appareils pour tout type de congélateur, s\'il s\'agit d\'un réfrigérateur/congélateur, utilisez \\"fridge_and_freezer\\".","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di congelatore, se si tratta di un frigorifero/congelatore utilizza \\"fridge_and_freezer\\".","ko":"이 디바이스 클래스는 모든 종류의 냉동고에 사용하며, 냉장/냉동고의 경우 \'fridge_and_freezer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke soort vriezer, als het een koelkast/vriezer is gebruik dan \'fridge_and_freezer\'.","no":"Bruk denne enhetsklassen for alle slags frysere. For kombinert kjøleskap/fryser, bruk «fridge_and_freezer».","pl":"Tej klasy urządzeń należy używać dla każdego rodzaju zamrażarki, jeśli jest to lodówka/zamrażarka, należy użyć klasy „fridge_and_freezer”.","ru":"Используйте этот класс устройств для морозильных камер любого типа; в случае холодильника-морозильника используйте fridge_and_freezer.","sv":"Använd den här enhetsklassen för alla typer av frysar, om det är en kyl/frys ska du använda \'fridge_and_freezer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fridge","da":"Køleskab","de":"Kühlschrank","es":"Frigorífico","fr":"Réfrigérateur","it":"Frigorifero","ko":"냉장고","nl":"Koelkast","no":"Kjøleskap","pl":"Lodówka","ru":"Холодильник","sv":"Kylskåp"},"description":{"en":"Use this device class for any kind of fridge, if it is a fridge/freezer use \'fridge_and_freezer\'.","da":"Brug denne enhedsklasse til alle slags køleskabe. Hvis det er et køleskab/fryser, skal du bruge \'fridge_and_freezer\'.","de":"Verwenden Sie diese Geräteklasse für jede Art von Kühlschrank. Wenn es sich um einen Kühl-/Gefrierschrank handelt, verwenden Sie „fridge_and_freezer“.","es":"Utiliza esta clase de dispositivo para cualquier tipo de frigorífico. Si se trata de un frigorífico con congelador, utiliza la clase \'fridge_and_freezer\'.","fr":"Utilisez cette classe d\'appareils pour tout type de réfrigérateur. S\'il s\'agit d\'un réfrigérateur/congélateur, utilisez \\"fridge_and_freezer\\".","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di frigorifero, se si tratta di un frigorifero/congelatore utilizza \\"fridge_and_freezer\\".","ko":"이 디바이스 클래스는 모든 종류의 냉장고에 사용하며, 냉장/냉동고의 경우 \'fridge_and_freezer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke soort koelkast, als het een koelkast/vriezer is gebruik dan \'fridge_and_freezer\'.","no":"Bruk denne enhetsklassen for alle slags kjøleskap. For kombinert kjøleskap/fryser, bruk «fridge_and_freezer».","pl":"Tej klasy urządzeń należy używać dla każdego rodzaju lodówki, jeśli jest to lodówka/zamrażarka, należy użyć klasy „fridge_and_freezer”.","ru":"Используйте этот класс устройств для холодильников любого типа; в случае холодильника-морозильника используйте fridge_and_freezer.","sv":"Använd den här enhetsklassen för alla typer av kylskåp, om det är en kyl/frys ska du använda \'fridge_and_freezer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fridge & Freezer","da":"Køleskab og fryser","de":"Kühl- und Gefrierschrank","es":"Frigorífico con congelador","fr":"Réfrigérateur et congélateur","it":"Frigorifero e congelatore","ko":"냉장고 겸 냉동고","nl":"Koelkast & vriezer","no":"Kjøleskap og fryser","pl":"Lodówka i zamrażarka","ru":"Холодильник и морозильная камера","sv":"Kyl och frys"},"description":{"en":"Use this device class for any kind of refrigerator that also has a freezer.","da":"Brug denne enhedsklasse til enhver form for køleskab, der også har en fryser.","de":"Verwenden Sie diese Geräteklasse für jede Art von Kühlschrank, in den auch ein Gefriergerät integriert ist.","es":"Utiliza esta clase de dispositivo para cualquier tipo de frigorífico que contenga una zona independiente de congelación.","fr":"Utilisez cette classe d\'appareils pour tout type de réfrigérateur qui possède également un congélateur.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di frigorifero dotato anche di congelatore.","ko":"이 디바이스 클래스는 냉동고 기능을 갖춘 모든 종류의 냉장고에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke soort koelkast die ook een vriezer heeft.","no":"Bruk denne enhetsklassen for alle slags kjøleskap som også har fryser.","pl":"Ta klasa urządzeń jest przeznaczona do każdego rodzaju lodówki z zamrażalnikiem.","ru":"Используйте этот класс устройств для любого холодильника, в котором также есть морозильная камера.","sv":"Använd den här enhetsklassen för alla typer av kylskåp som också har en frys."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Fryer","da":"Frituregryde","de":"Fritteuse","es":"Freidora","fr":"Friteuse","it":"Friggitrice","ko":"프라이어","nl":"Friteuse","no":"Frityrkoker","pl":"Frytkownica","ru":"Фритюрница","sv":"Fritös"},"description":{"en":"Use this device class for fryers.","da":"Brug denne enhedsklasse til frituregryder.","de":"Verwenden Sie diese Geräteklasse für Friteusen.","es":"Utiliza esta clase de dispositivo para freidoras.","fr":"Utilisez cette classe d\'appareils pour les friteuses.","it":"Utilizza questa classe di dispositivi per le friggitrici.","ko":"이 디바이스 클래스는 튀김기 등 프라이어에 사용합니다.","nl":"Gebruik deze apparaatklasse voor friteuses.","no":"Bruk denne enhetsklassen for frityrkokere.","pl":"Tej klasy urządzeń należy używać w przypadku frytkownic.","ru":"Используйте этот класс устройств для фритюрниц.","sv":"Använd den här enhetsklassen för fritöser."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Game Console","da":"Spilkonsol","de":"Spielkonsole","es":"Consola de videojuegos","fr":"Console de jeux","it":"Console per videogiochi","ko":"게임 콘솔","nl":"Spelcomputer","no":"Spillkonsoll","pl":"Konsola do gier","ru":"Игровая консоль","sv":"Spelkonsol"},"description":{"en":"Use this device class for any type of game console.","da":"Brug denne enhedsklasse til alle typer spilkonsoller.","de":"Verwenden Sie diese Geräteklasse für alle Arten von Spielkonsolen.","es":"Utiliza esta clase de dispositivo para cualquier tipo de consola de videojuegos.","fr":"Utilisez cette classe d\'appareils pour tout type de console de jeu.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di console per videogiochi.","ko":"이 디바이스 클래스는 모든 종류의 게임 콘솔에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type spelcomputer.","no":"Bruk denne enhetsklassen for alle typer spillkonsoller.","pl":"Tej klasy urządzeń należy używać w przypadku dowolnego typu konsoli do gier.","ru":"Используйте этот класс устройств для игровых консолей любого типа.","sv":"Använd den här enhetsklassen för alla typer av spelkonsoler."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Garage Door","nl":"Garagedeur","de":"Garagentor","fr":"Porte de garage","it":"Porta del garage","sv":"Garagedörr","no":"Garasjeport","es":"Puerta de garaje","da":"Garageport","ru":"Дверь гаража","pl":"Brama garażowa","ko":"차고 문"},"description":{"en":"Use this device class for garage doors, usually together with the `garagedoor_closed` capability.","ru":"Используйте этот класс устройств для дверей гаража, обычно вместе с функцией `garagedoor_closed`.","pl":"Użyj tej klasy urządzeń dla bram garażowych, zwykle razem ze zdolnością „garagedoor_closed”.","ko":"이 디바이스 클래스는 보통 \'garagedoor_closed\' 기능을 갖춘 차고 문에 사용합니다.","no":"Bruk denne enhetsklassen for garasjeporter, vanligvis sammen med funksjonen «garagedoor_closed»."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Grill","da":"Grill","es":"Parrilla","fr":"Gril","it":"Griglia","ko":"그릴","nl":"Grill","no":"Grill","pl":"Grill","ru":"Гриль","sv":"Grill"},"description":{"en":"Use this device class for grills.","da":"Brug denne enhedsklasse til grill.","de":"Verwenden Sie diese Geräteklasse für Grills.","es":"Utiliza esta clase de dispositivo para parrillas.","fr":"Utilisez cette classe d\'appareils pour les grils.","it":"Utilizza questa classe di dispositivi per le griglie.","ko":"이 디바이스 클래스는 그릴에 사용합니다.","nl":"Gebruik deze apparaatklasse voor grills.","no":"Bruk denne enhetsklassen for griller.","pl":"Tej klasy urządzeń należy używać w przypadku grilli.","ru":"Используйте этот класс устройств для грилей.","sv":"Använd den här enhetsklassen för grillar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Heater","nl":"Heater","de":"Heizung","fr":"Radiateur","it":"Termosifone","sv":"Element","no":"Varmeelement","es":"Calefactor","da":"Varmeapparat","ru":"Обогреватель","pl":"Grzejnik","ko":"히터"},"description":{"en":"Use this device class for heaters, that warm your home.","de":"Nutze diese Geräteklasse für Heizungen, die dein Heim wärmen.","fr":"Utilisez cette classe d\'appareil pour les radiateurs qui chauffent votre maison.","it":"Utilizza questa classe di dispositivi per i termosifoni, che riscaldano la tua casa.","sv":"Använd den här enhetsklassen för element, som värmer upp hemmet.","no":"Bruk denne enhetsklassen for varmeelement som varmer opp hjemmet ditt.","es":"Utiliza esta clase de dispositivo para los calefactores que calientan tu casa.","da":"Brug denne enhedsklasse til varmeapparater, som opvarmer dit hjem.","ru":"Используйте этот класс устройств для обогревателей, которые обогревают ваш дом.","pl":"Użyj tej klasy urządzeń dla grzejników, które ogrzewają dom.","ko":"이 디바이스 클래스는 집을 따뜻하게 해주는 히터에 사용합니다."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형인가요?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["radiator"]}')},function(e){e.exports=JSON.parse('{"title":{"en":"Heat Pump","da":"Varmepumpe","de":"Wärmepumpe","es":"Bomba de calor","fr":"Pompe à chaleur","it":"Pompa di calore","ko":"히트펌프","nl":"Warmtepomp","no":"Varmepumpe","pl":"Pompa ciepła","ru":"Тепловой насос","sv":"Värmepump"},"description":{"en":"Use this device class for heat pumps.","da":"Brug denne enhedsklasse til varmepumper.","de":"Verwenden Sie diese Geräteklasse für Wärmepumpen.","es":"Utiliza esta clase de dispositivo para bombas de calor.","fr":"Utiliser cette classe d\'appareils pour les pompes à chaleur.","it":"Utilizza questa classe di dispositivi per le pompe di calore.","ko":"이 디바이스 클래스는 히트펌프에 사용합니다.","nl":"Gebruik deze apparaatklasse voor warmtepompen.","no":"Bruk denne enhetsklassen for varmepumper.","pl":"Tej klasy urządzeń należy używać w przypadku pomp ciepła.","ru":"Используйте этот класс устройств для тепловых насосов.","sv":"Använd den här enhetsklassen för värmepumpar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Home Security","nl":"Huisbeveiliging","de":"Heim-Sicherheit","fr":"Sécurité de la maison","it":"Sicurezza della casa","sv":"Hemsäkerhet","no":"Hjemmesikkerhet","es":"Seguridad de la casa","da":"Hjemmesikkerhed","ru":"Домашняя безопасность","pl":"Bezpieczeństwo domowe","ko":"홈 시큐리티"},"description":{"en":"Use this device class for home alarm systems.","de":"Nutze diese Geräteklasse für Heim-Alarm-Systeme.","fr":"Utilisez cette classe d\'appareil pour les systèmes d\'alarme de maison.","it":"Utilizza questa classe di dispositivi per i sistemi di allarme di casa.","sv":"Använd den här enhetsklassen för hemlarmsystem.","no":"Bruk denne enhetsklassen for hjemmealarmsystemer.","es":"Utiliza esta clase de dispositivo para los sistemas de alarmas de la casa.","da":"Brug denne enhedsklasse til alarmsystemer til hjemmet.","ru":"Используйте этот класс устройств для домашних систем сигнализации.","pl":"Użyj tej klasy urządzeń dla alarmów domowych.","ko":"이 디바이스 클래스는 가정용 알람 시스템에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Hood","da":"Emhætte","de":"Abzugshaube","es":"Campana extractora","fr":"Hotte","it":"Cappa","ko":"후드","nl":"Afzuigkap","no":"Vifte","pl":"Okap","ru":"Вытяжка","sv":"Fläkt"},"description":{"en":"User this device class for any kind of extractor hood.","da":"Brug denne enhedsklasse til enhver form for emhætte.","de":"Verwenden Sie diese Geräteklasse für alle Arten von Dunstabzugshauben.","es":"Utiliza esta clase de dispositivo para cualquier tipo de campana extractora.","fr":"Utilisez cette classe d\'appareils pour tout type de hotte aspirante.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di cappa aspirante.","nl":"Gebruik deze apparaatklasse voor elk type afzuigkap.","no":"Bruk denne enhetsklassen for alle slags avtrekksvifter.","pl":"Tej klasy urządzeń należy używać w przypadku każdego rodzaju okapu.","ru":"Используйте этот класс устройств для вытяжек любого типа.","sv":"Använd den här enhetsklassen för alla typer av köksfläktar.","ko":"이 디바이스 클래스는 모든 종류의 환풍기 후드에 사용합니다."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Humidifier","da":"Luftfugter","de":"Luftbefeuchter","es":"Humidificador","fr":"Humidificateur","it":"Umidificatore","ko":"가습기","nl":"Luchtbevochtiger","no":"Luftfukter","pl":"Nawilżacz","ru":"Увлажнитель воздуха","sv":"Luftfuktare"},"description":{"en":"Use this device class for humidifiers.","da":"Brug denne enhedsklasse til luftfugtere.","de":"Verwenden Sie diese Geräteklasse für Luftbefeuchter.","es":"Utiliza esta clase de dispositivo para humidificadores.","fr":"Utiliser cette classe d\'appareils pour les humidificateurs.","it":"Utilizza questa classe di dispositivi per gli umidificatori.","ko":"이 디바이스 클래스는 가습기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor luchtbevochtigers.","no":"Bruk denne enhetsklassen for luftfuktere.","pl":"Tej klasy urządzeń należy używać w przypadku nawilżaczy powietrza.","ru":"Используйте этот класс устройств для увлажнителей воздуха.","sv":"Använd den här enhetsklassen för luftfuktare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Kettle","nl":"Waterkoker","de":"Wasserkocher","fr":"Bouilloire","it":"Bollitore","sv":"Vattenkokare","no":"Vannkoker","es":"Hervidor","da":"Elkedel","ru":"Чайник","pl":"Czajnik","ko":"주전자"},"description":{"en":"Use this device class for kettle devices, that can heat water.","de":"Nutze diese Geräteklasse für Kessel-Geräte, die Wasser kochen können.","fr":"Utilisez cette classe d\'appareil pour les bouilloires qui peuvent faire chauffer de l\'eau.","it":"Utilizza questa classe di dispositivi per i bollitori, che possono riscaldare l\'acqua.","sv":"Använd den här enhetsklassen för vattenkokare, som kan värma vatten.","no":"Bruk denne enhetsklassen for vannkokere som kan varme opp vann.","es":"Utiliza esta clase de dispositivo para los hervidores que calientan agua.","da":"Brug denne enhedsklasse til elkedelenheder, der kan opvarme vand.","ru":"Используйте этот класс устройств для чайников, которые могут нагревать воду.","pl":"Użyj tej klasy urządzeń dla czajników, które ogrzewają wodę.","ko":"이 디바이스 클래스는 물을 데울 수 있는 주전자에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Lawn Mower","da":"Plæneklipper","de":"Rasenmäher","es":"Cortacésped","fr":"Tondeuse à gazon","it":"Tagliaerba","ko":"잔디깎이","nl":"Grasmaaier","no":"Gressklipper","pl":"Kosiarka","ru":"Газонокосилка","sv":"Gräsklippare"},"description":{"en":"Use this device class for lawn mowers.","da":"Brug denne enhedsklasse til plæneklippere.","de":"Verwenden Sie diese Geräteklasse für Rasenmäher.","es":"Utiliza esta clase de dispositivo para cortadoras de césped.","fr":"Utilisez cette classe d\'appareils pour les tondeuses à gazon.","it":"Utilizza questa classe di dispositivi per i tagliaerba.","ko":"이 디바이스 클래스는 잔디깎이 등 예초기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor grasmaaiers.","no":"Bruk denne enhetsklassen for gressklippere.","pl":"Tej klasy urządzeń należy używać w przypadku kosiarek do trawy.","ru":"Используйте этот класс устройств для газонокосилок.","sv":"Använd den här enhetsklassen för gräsklippare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Light","nl":"Lamp","de":"Lampe","fr":"Lampe","it":"Lampada","sv":"Lampa","no":"Lampe","es":"Lámpara","da":"Lys","ru":"Лампа","pl":"Oświetlenie","ko":"조명"},"description":{"en":"Use this device class for lights, usually together with the `onoff`, `dim` and `light_*` capabilities.","de":"Nutze diese Geräteklasse für Lampen - normalerweise zusammen mit den `onoff`-, `dim`- und `light_*`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pou les lampes, habituellement avec les capacités `onoff`, `dim` et `light_*`.","it":"Utilizza questa classe di dispositivi per le lampade, generalmente insieme alle funzioni \'onoff\', `dim` e `light_*`.","sv":"Använd den här enhetsklassen för lampor, oftast tillsammans med funktionerna `onoff`, `dim` och `light_*`.","no":"Bruk denne enhetsklassen for lamper, ofte sammen med funksjonene `onoff`, `dim` och `light_*`.","es":"Utiliza esta clase de dispositivo para las luces, generalmente junto con las capacidades de \'onoff\', `dim`, y `light_*`.","da":"Brug denne enhedsklasse til lys, normalt sammen med `onoff`, `dim` og `light_*` funktionerne.","ru":"Используйте этот класс устройств для ламп, обычно вместе с функциями `onoff`,`dim` и `light_ *`.","pl":"Użyj tej klasy urządzeń dla oświetlenia, zwykle razem ze zdolnościami `onoff`, `dim` oraz `light_*`.","ko":"이 디바이스 클래스는 보통 \'onoff\', \'dim\', \'light_*\' 기능을 갖춘 조명에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Lock","nl":"Slot","de":"Schloss","fr":"Verrou","it":"Serratura","sv":"Lås","no":"Lås","es":"Cerradura","da":"Lås","ru":"Замок","pl":"Zamek","ko":"잠금 장치"},"description":{"en":"Use this device class for lock devices, usually together with the `locked` and `lock_mode` capabilities.","de":"Nutze diese Geräteklasse für Schloss-Geräte - normalerweise zusammen mit den `locked`- und `lock_mode`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pour les appareils verrou, généralement avec les capacités `locked` et `lock_mode`.","it":"Utilizza questa classe di dispositivi per le serrature, generalmente insieme alle funzioni `locked` e `lock_mode`.","sv":"Använd den här enhetsklassen för att låsa enheter, oftast tillsammans med funktionerna `locked` och `lock_mode`.","no":"Bruk denne enhetsklassen for låseenheter, ofte sammen med funksjonene `locked` og `lock_mode`.","es":"Utiliza esta clase de dispositivo para las cerraduras, generalmente junto con las capacidades de `locked` y `lock_mode`.","da":"Brug denne enhedsklasse til låseenheder, normalt sammen med `locked` and `lock_mode` funktionerne.","ru":"Используйте этот класс устройств для замков, обычно вместе с функциями `locked` и `lock_mode`.","pl":"Użyj tej klasy urządzeń dla produktów z zamkiem, zwykle razem ze zdolnościami `locked` i `lock_mode`.","ko":"이 디바이스 클래스는 보통 \'locked\' 및 \'lock_mode\' 기능을 갖춘 잠금장치인 록 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Media Player","da":"Medieafspiller","de":"Medienabspielgerät","es":"Reproductor multimedia","fr":"Lecteur multimédia","it":"Lettore multimediale","ko":"미디어 플레이어","nl":"Mediaspeler","no":"Mediespiller","pl":"Odtwarzacz multimedialny","ru":"Медиаплеер","sv":"Mediaspelare"},"description":{"en":"Use this device class for media players, when the `Set-top box` device class doesn\'t apply.","da":"Brug denne enhedsklasse til medieafspillere, når enhedsklassen `tv-modtagerboks` ikke gælder.","de":"Verwenden Sie diese Geräteklasse für Medienabspielgeräte, wenn die Geräteklasse „Set-Top-Box“ nicht zutrifft.","es":"Utiliza esta clase de dispositivo para reproductores multimedia que no pertenezcan a la clase \\"Descodificador\\".","fr":"Utilisez cette classe d\'appareils pour les lecteurs multimédias, lorsque la classe d\'appareil \\"décodeur\\" ne s\'applique pas.","it":"Utilizza questa classe di dispositivi per i lettori multimediali, quando la classe \\"Set-top box\\" non è applicabile.","ko":"이 디바이스 클래스는 \'Set-top box\' 디바이스 클래스가 적용되지 않는 미디어 플레이어에 사용합니다.","nl":"Gebruik deze apparaatklasse voor mediaspelers als de apparaatklasse \'settopbox\' niet van toepassing is.","no":"Bruk denne enhetsklassen for mediespillere som ikke dekkes av enhetsklassen «TV-mottaker».","pl":"Tej klasy urządzeń należy używać dla odtwarzaczy multimedialnych, gdy klasa urządzeń „dekoder” nie ma zastosowania.","ru":"Используйте этот класс устройств для медиаплееров, которые не относятся к классу устройств «ресивер».","sv":"Använd den här enhetsklassen för mediaspelare när enhetsklassen \\"digitalbox\\" inte är tillämplig."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형인가요?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["settopbox"],"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Microwave","da":"Mikrobølgeovn","de":"Mikrowelle","es":"Microondas","fr":"Micro-ondes","it":"Microonde","ko":"전자레인지","nl":"Magnetron","no":"Mikrobølgeovn","pl":"Mikrofalówka","ru":"Микроволновая печь","sv":"Mikrovågsugn"},"description":{"en":"Use this device class for any kind of microwave, if it is a combi unit use \'oven_and_microwave\'.","da":"Brug denne enhedsklasse til enhver form for mikrobølgeovn, hvis det er en kombi-enhed, skal du bruge \'combi_microwave\'.","de":"Verwenden Sie diese Geräteklasse für jede Art von Mikrowelle. Wenn es sich um ein Kombigerät handelt, verwenden Sie „oven_and_microwave“.","es":"Utiliza esta clase de dispositivo para cualquier tipo de microondas. Si se trata de un equipo que combina horno y microondas, utiliza la clase \'oven_and_microwave\'.","fr":"Utilisez cette classe d\'appareils pour tout type de micro-ondes. S\'il s\'agit d\'une unité combinée, utilisez \\"oven_and_microwave\\".","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di microonde; se si tratta di un\'unità combinata, utilizza \\"oven_and_microwave\\".","nl":"Gebruik deze apparaatklasse voor elke soort magnetron, als het een combimagnetron is gebruik dan \'oven_and_microwave\'.","no":"Bruk denne enhetsklassen for alle slags mikrobølgeovner. For kombienheter, bruk «combi_microwave».","pl":"Tej klasy urządzeń należy używać dla każdego rodzaju kuchenki mikrofalowej, jeśli jest to urządzenie combi, należy użyć klasy \\"oven_and_microwave\\".","ru":"Используйте этот класс устройств для микроволновых печей любого типа; в случае комбинированного устройства используйте oven_and_microwave.","sv":"Använd den här enhetsklassen för alla typer av mikrovågsugnar, om det är en kombienhet ska du använda \'oven_and_microwave\'.","ko":"이 디바이스 클래스는 모든 종류의 전자레인지에 사용하되, 콤비오븐의 경우 \'combi_microwave\'를 사용합니다."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Mop","da":"Moppe","de":"Mopp","es":"Limpiasuelos","fr":"Balai à franges","it":"Lavapavimenti","ko":"물걸레 청소기","nl":"Mop","no":"Mopp","pl":"Mop","ru":"Швабра","sv":"Mopp"},"description":{"en":"Use this device class for mops, e.g. a robot mop.","da":"Brug denne enhedsklasse til mopper, f.eks. en robotmoppe.","de":"Verwenden Sie diese Geräteklasse für Mopps, z. B. für Wischroboter.","es":"Utiliza esta clase de dispositivo para equipos y utensilios para limpiar el suelo (por ej., un robot limpiasuelos).","fr":"Utilisez cette classe d\'appareils pour les balais à franges, par exemple un balai robot.","it":"Utilizza questa classe di dispositivi per i lavapavimenti, es. un robot lavapavimenti.","ko":"이 디바이스 클래스는 물걸레 로봇청소기 등 물걸레 청소기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor moppen, bijvoorbeeld een robotmop.","no":"Bruk denne enhetsklassen for mopper, f.eks. en robotmopp.","pl":"Tej klasy urządzeń należy używać w przypadku mopów, np. mopów-robotów.","sv":"Använd den här enhetsklassen för moppar, t.ex. en robotmopp.","ru":"Используйте этот класс устройств для швабр, например, роботов-швабр."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Multicooker","da":"Multicooker","de":"Multikocher","es":"Robot de cocina","fr":"Multicuiseur","it":"Multicooker","ko":"멀티쿠커","nl":"Multicooker","no":"Multikoker","pl":"Multicooker","ru":"Мультиварка","sv":"Multikokare"},"description":{"en":"Use this device class for multicookers.","da":"Brug denne enhedsklasse til multicookere.","de":"Verwenden Sie diese Geräteklasse für Multikocher.","es":"Utiliza esta clase de dispositivo para robots de cocina.","fr":"Utilisez cette classe d\'appareils pour les multicuiseurs.","it":"Utilizza questa classe di dispositivi per i multicooker.","ko":"이 디바이스 클래스는 멀티쿠커에 사용합니다.","nl":"Gebruik deze apparaatklasse voor multicookers.","no":"Bruk denne enhetsklassen for multikokere.","pl":"Tej klasy urządzeń należy używać w przypadku multicookerów.","ru":"Используйте этот класс устройств для мультиварок.","sv":"Använd den här enhetsklassen för multikokare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Network Router","da":"Netværksrouter","de":"Netzwerk-Router","es":"Router","fr":"Routeur de réseau","it":"Router di rete","ko":"네트워크 라우터","nl":"Netwerkrouter","no":"Nettverksruter","pl":"Router sieciowy","ru":"Сетевой маршрутизатор","sv":"Nätverksrouter"},"description":{"en":"Use this device class for routers or modems.","da":"Brug denne enhedsklasse til routere eller modemer.","de":"Verwenden Sie diese Geräteklasse für Router oder Modems.","es":"Utiliza esta clase de dispositivo para routers o módems.","fr":"Utilisez cette classe d\'appareils pour les routeurs ou les modems.","it":"Utilizza questa classe di dispositivi per i router o i modem.","ko":"이 디바이스 클래스는 라우터 또는 모뎀에 사용합니다.","nl":"Gebruik deze apparaatklasse voor routers of modems.","no":"Bruk denne enhetsklassen for rutere eller modemer.","pl":"Tej klasy urządzeń należy używać w przypadku routerów lub modemów.","ru":"Используйте этот класс устройств для маршрутизаторов или модемов.","sv":"Använd den här enhetsklassen för routrar eller modem."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Other","nl":"Overig","de":"Andere","fr":"Autre","it":"Altro","sv":"Övrigt","no":"Annet","es":"Otro","da":"Andet","ru":"Другое","pl":"Inne","ko":"기타"},"description":{"en":"Use this device class for devices that do not fit any other device class.","de":"Nutze diese Geräteklasse für Geräte, die nicht in andere Geräteklassen passen.","fr":"Utilisez cette classe d\'appareil pour les appareils qui ne correspondent à aucune autre classe d\'appareil.","it":"Utilizza questa classe di dispositivi per gli apparecchi che non appartengono a nessun\'altra classe di dispositivi.","sv":"Använd den här enhetsklassen för enheter som inte passar i någon annan enhetsklass.","no":"Bruk denne enhetsklassen for enheter som ikke passer inn i noen annen enhetsklasse.","es":"Utiliza esta clase de dispositivo para los dispositivos que no se ajusten a ninguna otra clase.","da":"Brug denne enhedsklasse til enheder, der ikke hører til i andre enhedsklasse.","ru":"Используйте этот класс устройств для устройств, которые не подходят ни к одному другому классу.","pl":"Użyj tej klasy urządzeń dla produktów, które nie odpowiadają żadnej klasie urządzeń.","ko":"이 디바이스 클래스는 다른 디바이스 클래스에 속하지 않은 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Oven","da":"Ovn","de":"Backofen","es":"Horno","fr":"Four","it":"Forno","ko":"오븐","nl":"Oven","no":"Stekeovn","pl":"Piekarnik","ru":"Духовой шкаф","sv":"Ugn"},"description":{"en":"Use this device class for ovens.","da":"Brug denne enhedsklasse til ovne.","de":"Verwenden Sie diese Geräteklasse für Backöfen.","es":"Utiliza esta clase de dispositivo para hornos.","fr":"Utilisez cette classe d\'appareils pour les fours.","it":"Utilizza questa classe di dispositivi per i forni.","ko":"이 디바이스 클래스는 오븐에 사용합니다.","nl":"Gebruik deze apparaatklasse voor ovens.","no":"Bruk denne enhetsklassen for stekeovner.","pl":"Tej klasy urządzeń należy używać w przypadku piekarników.","ru":"Используйте этот класс устройств для духовых шкафов.","sv":"Använd den här enhetsklassen för ugnar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Combi Microwave Oven","da":"Kombimikrobølgeovn","de":"Kombi-Mikrowellenherd","es":"Horno-microondas","fr":"Four à micro-ondes combiné","it":"Forno a microonde combinato","ko":"전자레인지 겸 오븐","nl":"Combimagnetron","no":"Kombi-mikrobølgeovn","pl":"Kuchenka mikrofalowa combi","ru":"Комбинированная микроволновая печь","sv":"Kombimikrovågsugn"},"description":{"en":"Use this device class for combination microwave ovens.","da":"Brug denne enhedsklasse til kombimikrobølgeovne.","de":"Verwenden Sie diese Geräteklasse für Kombi-Mikrowellenherde.","es":"Utilice esta clase de dispositivo para equipos que combinan funciones de horno y microondas.","fr":"Utilisez cette classe d\'appareils pour les fours à micro-ondes combinés.","it":"Utilizza questa classe di dispositivi per i forni a microonde combinati.","ko":"이 디바이스 클래스는 전자레인지와 오븐 기능을 합친 콤비오븐에 사용합니다.","nl":"Gebruik deze apparaatklasse voor combimagnetrons.","no":"Bruk denne enhetsklassen for kombiovner med mikrobølgeovn.","pl":"Tej klasy urządzeń należy używać w przypadku kuchenkach mikrofalowych combi.","ru":"Используйте этот класс устройств для комбинированных микроволновых печей.","sv":"Använd den här enhetsklassen för kombinerade mikrovågsugnar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Pet Feeder","da":"Foderautomat til kæledyr","de":"Futterspender","es":"Comedero para mascotas","fr":"Mangeoire pour animaux","it":"Distributore di cibo per animali domestici","ko":"펫 급식기","nl":"Voerbak","no":"Kjæledyrmater","pl":"Karmnik dla zwierząt","ru":"Кормушка для животных","sv":"Foderautomat till husdjur"},"description":{"en":"Use this device class for pet feeders.","da":"Brug denne enhedsklasse til foderautomater til kæledyr.","de":"Verwenden Sie diese Geräteklasse für Futterspender für Haustiere.","es":"Utiliza esta clase de dispositivo para comederos de mascotas.","fr":"Utilisez cette classe d\'appareils pour les mangeoires pour animaux.","it":"Utilizza questa classe di dispositivi per i distributori di cibo per animali domestici.","ko":"이 디바이스 클래스는 사료 급여기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor voerbakken.","no":"Bruk denne enhetsklassen for kjæledyrmatere.","pl":"Tej klasy urządzeń należy używać w przypadku karmników dla zwierząt.","ru":"Используйте этот класс устройств для кормушек для домашних животных.","sv":"Använd den här enhetsklassen för foderautomater till husdjur."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Radiator","da":"Radiator","de":"Heizkörper","es":"Radiador","fr":"Radiateur","it":"Radiatore","ko":"라디에이터","nl":"Radiator","no":"Radiator","pl":"Grzejnik","ru":"Обогреватель","sv":"Element"},"description":{"en":"Use this device class for radiators.","da":"Brug denne enhedsklasse til radiatorer.","de":"Verwenden Sie diese Geräteklasse für Heizkörper.","es":"Utiliza esta clase de dispositivo para radiadores.","fr":"Utiliser cette classe d\'appareils pour les radiateurs.","it":"Utilizza questa classe di dispositivi per i radiatori.","ko":"이 디바이스 클래스는 라디에이터에 사용합니다.","nl":"Gebruik deze apparaatklasse voor radiatoren.","no":"Bruk denne enhetsklassen for radiatorer.","pl":"Tej klasy urządzeń należy używać w przypadku grzejników.","ru":"Используйте этот класс устройств для обогревателей.","sv":"Använd den här enhetsklassen för element."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Relay","nl":"Relais","de":"Relais","fr":"Relais","it":"Relé","sv":"Relä","no":"Relé","es":"Relé","da":"Relæ","ru":"Узел","pl":"Przekaźnik","ko":"릴레이"},"description":{"en":"Use this device class for relays, which are connected to another device.","de":"Nutze diese Geräteklasse für Relais, die mit anderen Geräten verbunden sind.","fr":"Utilisez cette classe d\'appareil pour les relais qui sont connectés à d\'autres appareils.","it":"Utilizza questa classe di dispositivi per i relé, che sono connessi ad un altro dispositivo.","sv":"Använd den här enhetsklassen för relän, som är kopplade till en annan enhet","no":"Bruk denne enhetsklassen for reléer som er koblet til en annen enhet.","es":"Utiliza esta clase de dispositivo para los relés conectados a otros dispositivos.","da":"Brug denne enhedsklasse til relæer, som er koblet til en anden enhed.","ru":"Используйте этот класс устройств для узлов, которые подключены к другому устройству.","pl":"Użyj tej klasy urządzeń dla przekaźników niepołączonych z żadnym innym urządzeniem.","ko":"이 디바이스 클래스는 다른 디바이스에 연결된 릴레이에 사용합니다."},"virtualTitle":{"en":"What\'s connected?","nl":"Wat is er verbonden?","de":"Was ist verbunden?","fr":"Qu\'est-ce qui est connecté ?","it":"Cos\'è connesso?","sv":"Relä","no":"Hva er tilkoblet?","es":"¿Qué está conectado?","da":"Hvad er tilkoblet?","ru":"Что подключено?","pl":"Co jest połączone?","ko":"어떤 것이 연결되어 있나요?"},"allowedVirtual":["garagedoor","sunshade","blinds","curtain"]}')},function(e){e.exports=JSON.parse('{"title":{"en":"Remote","nl":"Afstandsbediening","de":"Fernbedienung","fr":"Télécommande","it":"Telecomando","sv":"Fjärrkontroll","no":"Fjernkontroll","es":"Mando a distancia","da":"Fjernbetjening","ru":"Пульт","pl":"Pilot","ko":"리모컨"},"description":{"en":"Use this device class for (TV/Sunblind/Keyfob etc.) remotes.","de":"Nutze diese Geräteklasse für (TV/Jalousien/Schlüsselanhänger etc.)-Fernbedienungen.","fr":"Utilisez cette classe d\'appareil pour les télécommandes (TV/Stores/Porte-clés, etc.).","it":"Utilizza questa classe di dispositivi per i telecomandi (TV/Tapparelle/Portachiavi, ecc.).","sv":"Använd den här enheten för fjärrkontroller för (TV/Markis/Nyckellås mm.).","no":"Bruk denne enhetsklassen for fjernkontroller (for TV/markise/smartnøkkel etc.).","es":"Utiliza esta clase de dispositivo para los mandos a distancia (TV/persianas/llaves electrónicas, etc.","da":"Brug denne enhedsklasse til fjernbetjeninger (til TV/markise/smartnøgle osv.)","ru":"Используйте этот класс устройств для пультов дистанционного управления (телевизоры/жалюзи/брелки и т.п.).","pl":"Użyj tej klasy urządzeń dla pilotów (od telewizora/od markizy/klucza zbliżeniowego itp.).","ko":"이 디바이스 클래스는 (TV/선블라인드/스마트키 등) 리모컨에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Scooter","da":"Scooter","de":"Motorroller","es":"Scooter","fr":"Trottinette","it":"Scooter","ko":"스쿠터","nl":"Scooter","no":"Scooter","pl":"Skuter","ru":"Самокат"},"description":{"en":"Use this device class for scooters.","da":"Brug denne enhedsklasse til scootere.","de":"Verwenden Sie diese Geräteklasse für Motorroller.","es":"Utilice esta clase de dispositivo para scooters.","fr":"Utilisez cette classe d\'appareils pour les trottinettes.","it":"Utilizza questa classe di dispositivi per gli scooter.","ko":"이 디바이스 클래스는 스쿠터에 사용합니다.","nl":"Gebruik deze apparaatklasse voor scooters.","no":"Bruk denne enhetsklassen for scootere.","pl":"Tej klasy urządzeń należy używać w przypadku skuterów.","ru":"Используйте этот класс устройств для самокатов.","sv":"Använd den här enhetsklassen för skotrar."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Sensor","nl":"Sensor","de":"Sensor","fr":"Capteur","it":"Sensore","sv":"Sensor","no":"Sensor","es":"Sensor","da":"Sensor","ru":"Датчик","pl":"Czujnik","ko":"센서"},"description":{"en":"Use this device class for sensors, e.g. a contact or motion sensor.","de":"Nutze diese Geräteklasse für Sensoren, z. B. ein Kontakt- oder Bewegungssensor.","fr":"Utilisez cette classe d\'appareil pour les capteurs, par ex. un capteur de contact ou de mouvement.","it":"Utilizza questa classe di dispositivi per i sensori, ad es. un sensore di contatto o di movimento.","sv":"Använd den här enhetsklassen för sensorer, t.ex. en kontakt eller rörelsesensor.","no":"Bruk denne enhetsklassen for sensorer, f.eks. en kontakt- eller bevegelsessensor.","es":"Utiliza esta clase de dispositivo para los sensores; p. ej., sensores de contacto o movimiento.","da":"Brug denne enhedsklasse til sensorer, f-eks en kontakt- eller bevægelsessensor.","ru":"Используйте этот класс устройства для датчиков, например датчиков контакта или движения.","pl":"Użyj tej klasy urządzeń dla czujników, np. czujnika otwarcia lub ruchu.","ko":"이 디바이스 클래스는 접촉 또는 모션 센서 등 센서류에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Service","nl":"Service","de":"Dienst","fr":"Service","it":"Servizio","sv":"Service","no":"Tjeneste","es":"Servicio","da":"Tjeneste","ru":"Сервис","pl":"Usługa","ko":"서비스"},"description":{"en":"Use this device class for devices that are not really physical devices, but (cloud) services.","de":"Verwenden Sie diese Geräteklasse für Geräte, die keine physischen Geräte sind, sondern (Cloud-)Dienste.","fr":"Utilisez cette classe d\'appareils pour les appareils qui ne sont pas vraiment des appareils physiques, mais plutôt des services (cloud).","it":"Utilizza questa classe di dispositivi per dispositivi che non sono realmente dispositivi fisici, ma servizi (cloud).","sv":"Använd den här enhetsklassen för enheter som inte är fysiska enheter, utan (moln)tjänster.","no":"Bruk denne enhetsklassen for enheter som ikke er fysiske enheter, men (sky)tjenester.","es":"Utiliza esta clase para los dispositivos que no son físicos, sino servicios (en la nube).","da":"Brug denne enhedsklasse til enheder, der ikke rigtig er fysiske enheder, men (cloud-) tjenester.","ru":"Используйте этот класс устройств для устройств, которые являются не физическими устройствами, а (облачными) сервисами.","pl":"Użyj tej klasy urządzeń dla urządzeń, które nie są fizycznymi urządzeniami, lecz usługami (w chmurze).","ko":"이 디바이스 클래스는 실제 물리적 디바이스가 아닌 (클라우드) 서비스에 사용하세요.","nl":"Gebruik deze apparaatklasse voor apparaten die niet echt fysieke apparaten zijn, maar (cloud-)services."},"minCompatibility":"12.3.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Set-top Box","da":"Tv-modtagerboks","de":"Set-Top-Box","es":"Descodificador","fr":"Décodeur","it":"Set-top box","ko":"셋톱박스","nl":"Settopbox","no":"TV-mottaker","pl":"Dekoder","ru":"Ресивер","sv":"Digitalbox"},"description":{"en":"Use this device class for set-top boxes.","da":"Brug denne enhedsklasse til tv-modtagerbokse.","de":"Verwenden Sie diese Geräteklasse für Set-Top-Boxen.","es":"Utiliza esta clase de dispositivo para decodificadores de televisión.","fr":"Utilisez cette classe d\'appareils pour les décodeurs.","it":"Utilizza questa classe di dispositivi per i set-top box.","ko":"이 디바이스 클래스는 셋톱박스에 사용합니다.","nl":"Gebruik deze apparaatklasse voor settopboxen.","no":"Bruk denne enhetsklassen for TV-mottakere.","pl":"Tej klasy urządzeń należy używać w przypadku dekoderów.","ru":"Используйте этот класс устройств для ресиверов."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Shutter Blinds","da":"Persienner","de":"Jalousien","es":"Persianas","fr":"Volets roulants","it":"Tapparelle","ko":"셔터 블라인드","nl":"Jaloezieën","no":"Persienner","pl":"Żaluzje","ru":"Жалюзи","sv":"Persienner"},"description":{"en":"Use this device class for shutter blinds.","da":"Brug denne enhedsklasse til persienner.","de":"Verwenden Sie diese Geräteklasse für Jalousien.","es":"Utiliza esta clase de dispositivo para persianas.","fr":"Utiliser cette classe d\'appareils pour les volets roulants.","it":"Utilizza questa classe di dispositivi per le tapparelle.","ko":"이 디바이스 클래스는 셔터 블라인드에 사용합니다.","nl":"Gebruik deze apparaatklasse voor jaloezieën.","no":"Bruk denne enhetsklassen for persienner.","pl":"Tej klasy urządzeń należy używać w przypadku żaluzji.","ru":"Используйте этот класс устройств для жалюзи.","sv":"Använd den här enhetsklassen för persienner."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Siren","da":"Sirene","de":"Sirene","es":"Alarma","fr":"Sirène","it":"Allarme","ko":"사이렌","nl":"Sirene","no":"Sirene","pl":"Syrena","ru":"Сирена","sv":"Siren"},"description":{"en":"Use this device class for sirens.","da":"Brug denne enhedsklasse til sirener.","de":"Verwenden Sie diese Geräteklasse für Sirenen.","es":"Utiliza esta clase de dispositivo para alarmas.","fr":"Utilisez cette classe d\'appareils pour les sirènes.","it":"Utilizza questa classe di dispositivi per gli allarmi.","ko":"이 디바이스 클래스는 사이렌에 사용합니다.","nl":"Gebruik deze apparaatklasse voor sirenes.","no":"Bruk denne enhetsklassen for sirener.","pl":"Tej klasy urządzeń należy używać w przypadku syren.","ru":"Используйте этот класс устройств для сирен.","sv":"Använd den här enhetsklassen för sirener."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Smoke Alarm","da":"Røgalarm","de":"Rauchmelder","es":"Detector de humo","fr":"Détecteur de fumée","it":"Rilevatore di fumo","ko":"연기 감지기","nl":"Rookmelder","no":"Røykvarsler","pl":"Alarm przeciwdymny","ru":"Датчик дыма","sv":"Rökalarm"},"description":{"en":"Use this device class for any smoke- or CO-alarm, could also be used for combo units.","da":"Brug denne enhedsklasse til enhver røg- eller kuliltealarm, kan også bruges til kombinationsenheder.","de":"Verwenden Sie diese Geräteklasse für jeden Rauch- oder CO-Alarm. Sie kann auch für Kombi-Geräte verwendet werden.","es":"Utiliza esta clase de dispositivo para cualquier detector de humo o CO2. También puede servir para unidades que combinen ambas funciones.","fr":"Cette classe d\'appareils peut être utilisée pour n\'importe quel détecteur de fumée ou de CO, ainsi que pour les unités combinées.","it":"Utilizza questa classe di dispositivi per qualsiasi rilevatore di fumo o di monossido di carbonio. Può essere utilizzata anche per unità combinate.","ko":"이 디바이스 클래스는 연기 및 CO 알람 경보기에 사용하며, 콤보 유닛에도 사용할 수 있습니다.","nl":"Gebruik deze apparaatklasse voor elk rook- of CO-melder, kan ook worden gebruikt voor gecombineerde eenheden.","no":"Bruk denne enhetsklassen for alle slags røyk- eller kullosvarslere. Kan også brukes for kombienheter.","pl":"Tej klasy urządzeń można używać w przypadku dowolnego alarmu dymnego lub CO, a także w przypadku urządzeń typu combo.","ru":"Используйте этот класс устройств для датчиков дыма или угарного газа любого типа; также можно использовать для комбинированных устройств.","sv":"Använd den här enhetsklassen för alla rök- eller CO-larm, kan även användas för kombienheter."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Wall Plug","nl":"Schakeldoos","de":"Steckdose","fr":"Prise murale","it":"Presa a muro","sv":"Väggkontakt","no":"Veggkontakt","es":"Enchufe de pared","da":"Stikkontakt","ru":"Настенная розетка","pl":"Wtyczka","ko":"벽면 콘센트"},"description":{"en":"Use this device class for sockets (built-in or plug-in socket switches). When adding the `choose_slave` pair template, the user is presented a `What\'s plugged in?` question.","de":"Nutze diese Geräteklasse für Sockel (eingebaut oder zum zum Einstecken). Wenn das `choose_slave`-Paar-Template hinzugefügt wird, wird dem Benutzer eine `Was ist eingesteckt?`-Frage gestellt.","fr":"Utilisez cette classe d\'appareil pour les prises (intégrées ou prises d\'interrupteurs). En ajoutant le modèle d\'appairage `choose_slave`, il est demandé à l\'utilisteur `Qu\'est-ce qui est connecté ?`.","it":"Utilizza questa classe di dispositivi per le prese (prese integrate o interruttori). Aggiungendo il modello di abbinamento `choose_slave`, viene chiesto all\'utente `Cosa è collegato?`.","sv":"Använd den här enhetsklassen för uttag (inbyggda eller stickkontakter). När parmallen `choose_slave` får användaren en `Vad är inkopplat?`-fråga.","no":"Bruk denne enhetsklassen for kontakter (innebygde eller eksterne kontaktenheter). Når sammenkoblingsmalen `choose_slave` legges til, får brukeren et `Hva er koblet til?`-spørsmål.","es":"Utiliza esta clase de dispositivo para los enchufes (interruptores de enchufe integrados o enchufables). Al añadir la plantilla de emparejamiento `choose_slave`, al usuario se le pregunta `¿Qué está enchufado?`.","da":"Brug denne enhedsklasse til kontakter (indbyggede eller eksterne kontaktenheder). Når `choose_slave` parskabelonen tilføjes, bliver brugeren præsenteret for et `Hvad er sat til?` spørgsmål.","ru":"Используйте этот класс устройства для розеток (встроенных или вставных выключателей). При добавлении шаблона сопряжения `choose_slave` пользователю предлагается ответить на вопрос: `Что подключено?`.","pl":"Użyj tej klasy urządzeń dla gniazdek elektrycznych (wbudowanych lub wtyczek). Podczas dodawania szablonu parowania `choose_slave` pojawi się pytanie: `Co jest podłączone?`.","ko":"이 디바이스 클래스는 (빌트인 및 플러그인 방식 소켓 스위치 등) 콘센트에 사용합니다. \'choose_slave\' 페어링 템플릿을 추가하면 사용자에게 \'무엇을 꽂으셨습니까?\' 질문이 표시됩니다."},"virtualTitle":{"en":"Plugged in","nl":"Aangesloten","de":"Angeschlossen","fr":"Branché","it":"Collegato","sv":"Inkopplad","no":"Plugget inn","es":"Conectado","da":"Tilsluttet","ru":"Подключено","pl":"Podłączone","ko":"꽂힘"},"allowedVirtual":["light","fan","heater","coffeemachine","kettle","tv","solarpanel","airconditioning","airfryer","boiler","cooktop","dishwasher","dryer","evcharger","freezer","fridge","fridge_and_freezer","fryer","grill","heatpump","mediaplayer","microwave","multicooker","networkrouter","oven","washer","washer_and_dryer","waterpurifier","oven_and_microwave"]}')},function(e){e.exports=JSON.parse('{"title":{"en":"Solar Panel","nl":"Zonnepaneel","sv":"Solpanel","no":"Solpanel","es":"Panel solar","da":"Solpanel","ru":"Солнечная панель","pl":"Panel fotowoltaiczny","ko":"태양광 패널"},"description":{"en":"Use this device class for solar panels.","es":"Utiliza esta clase de dispositivo para los paneles solares.","da":"Brug denne enhedsklasse til solpaneler.","ru":"Используйте этот класс устройств для солнечных панелей.","pl":"Użyj tej klasy urządzeń dla paneli fotowoltaicznych.","ko":"이 디바이스 클래스는 태양광 패널에 사용합니다.","no":"Bruk denne enhetsklassen for solpaneler."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Speaker","nl":"Speaker","de":"Lautsprecher","fr":"Haut-parleur","it":"Altoparlante","sv":"Högtalare","no":"Høyttaler","es":"Altavoz","da":"Højttaler","ru":"Колонка","pl":"Głośnik","ko":"스피커"},"description":{"en":"Use this device class for devices that can play music, usually together with the `speaker_*` capabilities.","de":"Nutze diese Geräteklasse für Geräte, die Musik spielen können - normalerweise zusammen mit den `speaker_*`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pour les appareils qui peuvent jouer de la musique, généralement avec la capacité `speaker_*`.","it":"Utilizza questa classe di dispositivi per i dispositivi che possono riprodurre musica, generalmente insieme alla funzione `speaker_*`.","sv":"Använd den här enhetsklassen för enheter som kan spela musik, oftast tilsammans med funktionerna `speaker_*`.","no":"Bruk denne enhetsklassen for enheter som kan spille musikk, ofte sammen med funksjonen `speaker_*`.","es":"Utiliza esta clase de dispositivo para los aparatos capaces de reproducir música, generalmente junto con las capacidades `speaker_*`.","da":"Brug denne enhedsklasse til enheder, der kan afspille musik, normalt sammen med `speaker_*` funktionerne.","ru":"Используйте этот класс устройств для устройств, воспроизводящих музыку, обычно вместе с функцией `speaker_*`.","pl":"Użyj tej klasy urządzeń dla produktów, które mogą odtwarzać muzykę, zwykle razem ze zdolnością `speaker_*`.","ko":"이 디바이스 클래스는 음악을 재생할 수 있고 보통 \'speaker_*\' 기능을 갖춘 디바이스에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Sprinkler","da":"Sprinkler","de":"Sprinkleranlage","es":"Aspersor","fr":"Arrosage","it":"Irrigatore","ko":"스프링클러","nl":"Sprinkler","no":"Sprinkler","pl":"Zraszacz","ru":"Спринклер","sv":"Sprinkler"},"description":{"en":"Use this device class for sprinkler systems.","da":"Brug denne enhedsklasse til sprinklersystemer.","de":"Verwenden Sie diese Geräteklasse für Sprinkleranlagen.","es":"Utiliza esta clase de dispositivo para sistemas de riego.","fr":"Utilisez cette classe d\'appareils pour les systèmes d\'arrosage.","it":"Utilizza questa classe di dispositivi per i sistemi di irrigazione.","ko":"이 디바이스 클래스는 스프링클러 시스템에 사용합니다.","nl":"Gebruik deze apparaatklasse voor sprinklersystemen.","no":"Bruk denne enhetsklassen for sprinkleranlegg.","pl":"Tej klasy urządzeń należy używać w instalacjach zraszaczy.","ru":"Используйте этот класс устройств для спринклерных систем.","sv":"Använd den här enhetsklassen för sprinklersystem."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Sunshade","nl":"Zonnescherm","de":"Sonnenschirm","fr":"Auvent","it":"Parasole","sv":"Markis","no":"Markise","es":"Toldo","da":"Markise","ru":"Навес","pl":"Markiza","ko":"햇빛 가리개"},"description":{"en":"Use this device class for sunshades (window coverings against the sun).","de":"Nutze diese Geräteklasse für Jalousien (Fenster-Abdeckungen gegen die Sonne).","fr":"Utilisez cette classe d\'appareil pour les auvents (couvrant les fenêtres contre le soleil).","it":"Utilizza questa classe di dispositivi per gli scuretti (che riparano le finestre dal sole).","sv":"Använd den här enhetsklassen för markiser (fönsterskydd mot solen).","no":"Bruk denne enhetsklassen for markiser (vindusbeskyttelse mot solen).","es":"Utiliza esta clase de dispositivo para los toldos (para proteger las ventanas del sol).","da":"Brug denne enhedsklasse til markiser (vinduesdække mod solen).","ru":"Используйте этот класс устройств для навесов (оконных навесов от солнца).","pl":"Użyj tej klasy urządzeń dla markiz (osłony okienne chroniące przed słońcem).","ko":"이 디바이스 클래스는 선셰이드(햇빛을 막아주는 창문 덮개)에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Thermostat","nl":"Thermostaat","de":"Thermostat","fr":"Thermostat","it":"Termostato","sv":"Termostat","no":"Termostat","es":"Termostato","da":"Termostat","ru":"Термостат","pl":"Termostat","ko":"온도 조절 장치"},"description":{"en":"Use this device class for thermostats, either for the entire home or radiator-mounted, usually together with the `measure_temperature`, `target_temperature` and `thermostat_mode` capabilities.","de":"Nutze diese Geräteklasse für Thermostate, entweder für das gesamte Heim oder pro Heizung - normalerweise zusammen mit den `measure_temperature`-, `target_temperature`- und `thermostat_mode`-Fähigkeiten.","fr":"Utilisez cette classe d\'appareil pour les thermostats, soit pour toute la maison soit montés sur radiateurs, généralemebnt avec les capacités `measure_temperature`, `target_temperature` et `thermostat_mode`.","it":"Utilizza questa classe di dispositivi per i termostati, sia quelli per l\'intera casa che quelli montati sul radiatore, solitamente insieme alle funzionalità `measure_temperature`,`target_temperature` e `thermostat_mode`.","sv":"Använd den här enhetsklassen för termostater, antingen för hela hemmet eller elementmonterade, oftast tillsammans med funktionerna `measure_temperature`, `target_temperature` och `thermostat_mode`.","no":"Bruk denne enhetsklassen for termostater, enten for hele hjemmet eller monterte på varmeelement, ofte sammen med funksjonene `measure_temperature`, `target_temperature` og `thermostat_mode`.","es":"Utiliza esta clase de dispositivo para los termostatos, tanto los de toda la casa como los montados en los radiadores, generalmente junto con las capacidades `measure_temperature`, `target_temperature` y `thermostat_mode`.","da":"Brug denne enhedsklasse til termostater, enten til hele hjemmet eller på radiatorer, normalt sammen med `measure_temperature`, `target_temperature` og `thermostat_mode` funktionerne.","ru":"Используйте этот класс устройств для термостатов для всего дома или для термостатов на радиаторах, обычно вместе с функциями `measure_temperature`, `target_temperature` и `thermostat_mode`.","pl":"Użyj tej klasy urządzeń dla termostatów, zarówno dla całego domu, jak i urządzeń podłączanych do kaloryferów; zwykle razem ze zdolnościami `measure_temperature`, `target_temperature` oraz `thermostat_mode`.","ko":"이 디바이스 클래스는 집 전체 또는 특정 라디에이터의 온도를 조절하고 보통 \'measure_temperature\', \'target_temperature\', \'thermostat_mode\' 기능을 갖춘 온도조절기에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"TV","nl":"TV","de":"TV","fr":"TV","it":"TV","sv":"TV","no":"TV","es":"TV","da":"TV","ru":"Телевизор","pl":"Telewizor","ko":"TV"},"description":{"en":"Use this device class for TVs.","de":"Nutze diese Geräteklasse für TVs","fr":"Utilisez cette classe d\'appareil pour les TV","it":"Utilizza questa classe di dispositivi per i televisori.","sv":"Använd den här enhetsklassen för TV-apparater.","no":"Bruk denne enhetsklassen for TV-apparater.","es":"Utiliza esta clase de dispositivo para los televisores.","da":"Brug denne enhedsklasse til TV-apparater.","ru":"Используйте этот класс устройств для телевизоров.","pl":"Użyj tej klasy urządzeń dla telewizorów.","ko":"이 디바이스 클래스는 TV에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Vacuum Cleaner","nl":"Stofzuiger","de":"Staubsauger","fr":"Aspirateur","it":"Aspirapolvere","sv":"Dammsugare","no":"Støvsuger","es":"Aspiradora","da":"Støvsuger","ru":"Пылесос","pl":"Odkurzacz","ko":"진공청소기"},"description":{"en":"Use this device class for vacuum cleaners, usually together with the `vacuumcleaner_state` capability.","de":"Nutze diese Geräteklasse für Staubsauger - normalerweise zusammen mit der `vacuumcleaner_state`-Fähigkeit.","fr":"Utilisez cette classe d\'appareil pour les aspirateurs, habituellement avec la capacité `vacuumcleaner_state`.","it":"Utilizza questa classe di dispositivi per gli aspirapolvere, generalmente insieme alla funzionalità `vacuumcleaner_state`.","sv":"Använd den här enhetsklassen för dammsugare, oftast tillsammans med funktionen `vacuumcleaner_state`.","no":"Bruk denne enhetsklassen for støvsugere, ofte sammen med funksjonen `vacuumcleaner_state`.","es":"Utiliza esta clase de dispositivo para las aspiradoras, generalmente junto con la capacidad `vacuumcleaner_state`.","da":"Brug denne enhedsklasse til støvsugere, normalt sammen med `vacuumcleaner_state` funktionen.","ru":"Используйте этот класс устройств для пылесосов, обычно вместе с функцией `vacuumcleaner_state`.","pl":"Użyj tej klasy urządzeń dla odkurzaczy, zwykle razem ze zdolnością `vacuumcleaner_state`.","ko":"이 디바이스 클래스는 보통 \'vacuumcleaner_state\' 기능을 갖춘 진공청소기에 사용합니다."}}')},function(e){e.exports=JSON.parse('{"title":{"en":"Vehicle","da":"Køretøj","de":"Fahrzeug","es":"Vehículo","fr":"Véhicule","it":"Veicolo","ko":"차량","nl":"Voertuig","no":"Kjøretøy","pl":"Pojazd","ru":"Транспортное средство","sv":"Fordon"},"description":{"en":"Use this device class for any type of vehicle, when the `car`, `bicycle` or `scooter` device class doesn\'t apply.","da":"Brug denne enhedsklasse til alle typer køretøjer, når enhedsklassen `bil`, `cykel` eller `scooter` ikke gælder.","de":"Verwenden Sie diese Geräteklasse für jede Art von Fahrzeug, wenn die Geräteklassen „Auto“, „Fahrrad“ oder „Motorroller“ nicht zutreffen.","es":"Utiliza esta clase de dispositivo para cualquier tipo de vehículo que no pertenezca a las clases \\"Coche\\", \\"Bicicleta\\" o \\"Scooter\\".","fr":"Utilisez cette classe d\'appareils pour tout type de véhicule, lorsque la classe d\'appareils \\"voiture\\", \\"vélo\\" ou \\"trotinette\\" ne s\'applique pas.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di veicolo, quando la classe \\"automobile\\", \\"bicicletta\\" o \\"scooter\\" non è applicabile.","ko":"이 디바이스 클래스는 \'car\', \'bicycle\', \'scooter\' 디바이스가 적용되지 않는 모든 종류의 탈것에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elk type voertuig, wanneer de apparaatklasse \'auto\', \'fiets\' of \'scooter\' niet van toepassing is.","no":"Bruk denne enhetsklassen for alle typer kjøretøy som ikke dekkes av enhetsklassene\\n«bil», «sykkel» eller «scooter».","pl":"Tej klasy urządzeń należy używać dla dowolnego typu pojazdu, gdy klasa urządzeń „samochód”, „rower” lub „skuter” nie ma zastosowania.","ru":"Используйте этот класс устройств для транспортных средств любого типа, которые не относятся к классу устройств «автомобиль», «велосипед» или «самокат».","sv":"Använd den här enhetsklassen för alla typer av fordon, när enhetsklassen \\"bil\\", \\"cykel\\" eller \\"skoter\\" inte är tillämplig."},"virtualTitle":{"en":"What\'s the type?","da":"Hvad er typen?","de":"Um welchen Typ handelt es sich?","es":"¿De qué tipo es?","fr":"Quel est le type ?","it":"Di che tipo è?","ko":"어떤 유형인가요?","nl":"Wat is het type?","no":"Hvilken type er det?","pl":"Jaki to typ?","ru":"Какой тип?","sv":"Vad är det för typ?"},"allowedVirtual":["bicycle","car","scooter"],"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Washing Machine","da":"Vaskemaskine","de":"Waschmaschine","es":"Lavadora","fr":"Lave-linge","it":"Lavatrice","ko":"세탁기","nl":"Wasmachine","no":"Vaskemaskin","pl":"Pralka","ru":"Стиральная машина","sv":"Tvättmaskin"},"description":{"en":"Use this device class for washing machines, if it is a combination washer/dryer use \'washer_and_dryer\'.","da":"Brug denne enhedsklasse til vaskemaskiner. Hvis det er en kombineret vaskemaskine/tørretumbler, skal du bruge \'washer_and_dryer\'.","de":"Verwenden Sie diese Geräteklasse für Waschmaschinen. Wenn es sich um eine Kombination aus Waschmaschine und Trockner handelt, verwenden Sie „washer_and_dryer“.","es":"Utiliza esta clase de dispositivo para lavadoras. Si se trata de un equipo que contiene funciones de lavadora y secadora, utiliza la clase \'washer_and_dryer\'.","fr":"Utilisez cette classe d\'appareils pour les machines à laver ; s\'il s\'agit d\'une combinaison lave-linge/sèche-linge, utilisez \\"washer_and_dryer\\".","it":"Utilizza questa classe di dispositivi per le lavatrici; se si tratta di una lavatrice/asciugatrice combinata, utilizza \\"washer_and_dryer\\".","ko":"이 디바이스 클래스는 세탁기에 사용하고, 세탁기/건조기 일체형의 경우 \'washer_and_dryer\'를 사용합니다.","nl":"Gebruik deze apparaatklasse voor wasmachines, als het een was/droogcombinatie is gebruik dan \'washer_and_dryer\'.","no":"Bruk denne enhetsklassen for vaskemaskiner. For en kombinert vaskemaskin/tørketrommel, bruk «washer_and_dryer».","pl":"Tej klasy urządzeń należy używać w przypadku pralek, a jeśli jest to pralko-suszarka, należy użyć klasy „washer_and_dryer”.","ru":"Используйте этот класс устройств для стиральных машин; в случае стиральной машины-сушилки используйте washer_and_dryer.","sv":"Använd den här enhetsklassen för tvättmaskiner, om det är en kombinerad tvättmaskin/torktumlare ska du använda \'washer_and_dryer\'."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Washer & Dryer","da":"Vaskemaskine og tørretumbler","de":"Waschmaschine mit Trockner","es":"Lavadora-secadora","fr":"Lave-linge et sèche-linge","it":"Lavatrice e asciugatrice","ko":"세탁기 겸 건조기","nl":"Wasmachine & droger","no":"Vaskemaskin og tørketrommel","pl":"Pralko-suszarka","ru":"Стиральная машина и сушилка","sv":"Tvättmaskin och torktumlare"},"description":{"en":"Use this device class for any kind of washer and dryer combination.","da":"Brug denne enhedsklasse til enhver form for kombination af vaskemaskine og tørretumbler.","de":"Verwenden Sie diese Geräteklasse für jede Art von Waschmaschinen- und Trocknerkombis.","es":"Utiliza esta clase de dispositivo para cualquier equipo que tenga funciones de lavadora y secadora.","fr":"Cette classe d\'appareils peut être utilisée pour n\'importe quelle combinaison de lave-linge et de sèche-linge.","it":"Utilizza questa classe di dispositivi per qualsiasi tipo di combinazione di lavatrice e asciugatrice.","ko":"이 디바이스 클래스는 모든 종류의 일체형 세탁건조기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor elke was/droogcombinatie.","no":"Bruk denne enhetsklassen for alle slags kombinasjoner av vaskemaskin og tørketrommel.","pl":"Tej klasy urządzenia należy używać do każdego rodzaju pralko-suszarki.","ru":"Используйте этот класс устройств для любой комбинации стиральной и сушильной машин.","sv":"Använd den här enhetsklassen för alla typer av tvättmaskin och torktumlare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Water Heater","da":"Vandvarmer","de":"Warmwasserbereiter","es":"Calentador de agua","fr":"Chauffe-eau","it":"Scaldabagno","ko":"온수기","nl":"Boiler","no":"Varmtvannsbereder","pl":"Podgrzewacz wody","ru":"Водонагреватель","sv":"Varmvattenberedare"},"description":{"en":"Use this device class for water heaters.","da":"Brug denne enhedsklasse til vandvarmere.","de":"Verwenden Sie diese Geräteklasse für Warmwasserbereiter.","es":"Utiliza esta clase de dispositivo para calentadores de agua.","fr":"Utilisez cette classe d\'appareils pour les chauffe-eau.","it":"Utilizza questa classe di dispositivi per gli scaldabagno.","ko":"이 디바이스 클래스는 온수기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor boilers.","no":"Bruk denne enhetsklassen for varmtvannsberedere.","pl":"Tej klasy urządzeń należy używać do podgrzewaczy wody.","ru":"Используйте этот класс устройств для водонагревателей.","sv":"Använd den här enhetsklassen för varmvattenberedare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Water Purifier","da":"Vandrensningsanlæg","de":"Wasseraufbereiter","es":"Purificador de agua","fr":"Purificateur d\'eau","it":"Depuratore d\'acqua","ko":"정수기","nl":"Waterzuiveraar","no":"Vannrenser","pl":"Oczyszczacz wody","ru":"Очиститель воды","sv":"Vattenrenare"},"description":{"en":"Use this device class for water purifiers.","da":"Brug denne enhedsklasse til vandrensningsanlæg.","de":"Verwenden Sie diese Geräteklasse für Wasseraufbereiter.","es":"Utiliza esta clase de dispositivo para purificadores de agua.","fr":"Utilisez cette classe d\'appareils pour les purificateurs d\'eau.","it":"Utilizza questa classe di dispositivi per i depuratori d\'acqua.","ko":"이 디바이스 클래스는 정수기에 사용합니다.","nl":"Gebruik deze apparaatklasse voor waterzuiveraars.","no":"Bruk denne enhetsklassen for vannrensere.","pl":"Tej klasy urządzeń należy używać w przypadku oczyszczaczy wody.","ru":"Используйте этот класс устройств для очистителей воды.","sv":"Använd den här enhetsklassen för vattenrenare."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Water Valve","da":"Vandventil","de":"Wasserventil","es":"Válvula de agua","fr":"Robinet d\'adduction d\'eau","it":"Valvola idraulica","ko":"워터 밸브","nl":"Waterklep","no":"Vannventil","pl":"Zawór wodny","ru":"Водяной клапан","sv":"Vattenventil"},"description":{"en":"Use this device class for mechanical water valves.","da":"Brug denne enhedsklasse til mekaniske vandventiler.","de":"Verwenden Sie diese Geräteklasse für mechanische Wasserventile.","es":"Utiliza esta clase de dispositivo para válvulas mecánicas de agua.","fr":"Utilisez cette classe d\'appareils pour les robinet d\'adduction d\'eau mécaniques.","it":"Utilizza questa classe di dispositivi per le valvole idrauliche meccaniche.","ko":"이 디바이스 클래스는 기계식 워터 밸브에 사용합니다.","nl":"Gebruik deze apparaatklasse voor mechanische waterkleppen.","no":"Bruk denne enhetsklassen for mekaniske vannventiler.","pl":"Tej klasy urządzeń należy używać w przypadku mechanicznych zaworów wodnych.","ru":"Используйте этот класс устройств для механических водяных клапанов.","sv":"Använd den här apparatklassen för mekaniska vattenventiler."},"minCompatibility":"12.0.0"}')},function(e){e.exports=JSON.parse('{"title":{"en":"Window Coverings","nl":"Raambekleding","de":"Fenster-Abdeckungen","fr":"Couverture de fenêtre","it":"Rivestimenti per finestre","sv":"Fönsterskydd","no":"Vindusbeskyttelse","es":"Cobertores de ventanas","da":"Vinduesdække","ru":"Оконные навесы","pl":"Osłony okienne","ko":"창문 커버"},"description":{"en":"Use this device class for window coverings, when the `curtains`, `blinds` or `sunshade` device class doesn\'t apply.","de":"Nutze diese Geräteklasse für Fenster-Abdeckungen, wenn `curtains`-, `blinds`- oder `sunshade`-Geräteklassen nicht zutreffen.","fr":"Utilisez cette classe d\'appareil pour les couvertures de fenêtre, lorsque la classe d\'appareil `curtains`, `blinds` ou `sunshade` ne s\'applique pas.","it":"Utilizza questa classe di dispositivi per i rivestimenti per finestre, quando non rientrano nelle classi `curtains`, `blinds` o `sunshade`.","sv":"Använd den här enhetsklassen för fönsterskydd när enhetsklasserna `curtains`, `blinds` eller `sunshade` inte gäller.","no":"Bruk denne enhetsklassen for vindusskjerming som ikke dekkes av enhetsklassene «gardiner», «persienner» eller «markise».","es":"Utiliza esta clase de dispositivo para los cobertores de ventanas que no entren en las clases `curtains`, `blinds` o `sunshade`.","da":"Brug denne enhedsklasse til vinduesdække, når enhedsklasserne `curtains`, `blinds` og `sunshade` ikke er gældende.","ru":"Используйте этот класс устройств для оконных навесов, когда классы устройств `curtains`, `blinds` или `sunshade` не подходят.","pl":"Użyj tej klasy urządzeń dla osłon okiennych o innej klasie urządzenia niż `curtains`, `blinds` lub `sunshade`.","ko":"이 디바이스 클래스는 \'curtains\', \'blinds\', \'sunshade\' 디바이스 클래스가 적용되지 않는 창문 덮개에 사용합니다."},"virtualTitle":{"en":"What\'s the type?","nl":"Wat voor type is dit?","de":"Um welchen Typ handelt es sich?","fr":"Quel est le type ?","it":"Qual è il tipo?","sv":"Vad är det för typ?","no":"Hvilken type er det?","es":"¿Cuál es el tipo?","da":"Hvad er typen?","ru":"Какой тип?","pl":"Wybierz rodzaj?","ko":"어떤 유형인가요?"},"allowedVirtual":["sunshade","blinds","curtain","shutterblinds"]}')},function(e,t,a){"use strict";function r(e,t,a){let r=!0;return e instanceof Array?e.forEach(e=>{(ea)&&(r=!1)}):"number"==typeof e&&(ea)&&(r=!1),r}function i(e){return"string"==typeof e&&/^(([0-9a-f]{4}\s?){2}){2,}$/i.test(e)}const n={min:1,max:1e3},s={min:0,max:.5};function o(e,t){const a={result:!0,msg:"invalid_"+this};return e instanceof Array?(t.packing?e.some(e=>!(e>=0&&e<=255))&&(a.result=!1):e.some(e=>!t.words||!t.words[e])&&(a.result=!1),a):(a.result=!1,a)}const l={words(e,t){const a={result:!0,msg:"invalid_words"};return!(e instanceof Array)||e.length<=1?(a.result=!1,a):(e.forEach(e=>{if(!(e instanceof Array)||e.length<=1)return a.result=!1,a}),a)},agc:(e,t)=>({result:e instanceof Array,msg:"invalid_agc"}),sof:(e,t)=>({result:e instanceof Array,msg:"invalid_sof"}),toggleSof:(e,t)=>({result:e instanceof Array,msg:"invalid_toggleSof"}),eof:(e,t)=>({result:e instanceof Array,msg:"invalid_eof"}),manchesterUnit:(e,t)=>({result:"number"==typeof e,msg:"invalid_manchesterUnit"}),manchesterMaxUnits:(e,t)=>({result:"number"==typeof e&&e>=n.min,msg:"invalid_manchesterMaxUnits"}),sensitivity:(e,t)=>({result:"number"==typeof e&&r(e,s.min,s.max),msg:"invalid_sensitivity"}),interval:(e,t)=>({result:"number"==typeof e,msg:"invalid_signalinterval"}),minimalLength:(e,t)=>({result:e>0,msg:"invalid_minimalLength"}),maximalLength:(e,t)=>({result:e>0,msg:"invalid_maximalLength"}),packing:(e,t)=>({result:"boolean"==typeof e&&t.words&&2==t.words.length,msg:"invalid_packing"}),dutyCycle:(e,t)=>({result:"number"==typeof e,msg:"invalid_dutyCycle"}),txOnly:(e,t)=>({result:"boolean"==typeof e,msg:"invalid_txOnly"}),cmds(e,t){const a={result:!0,msg:"invalid_cmd"};return Object.keys(e).forEach(r=>{o(e[r],t).result||(a.result=!1)}),a},toggleIndexes:(e,t)=>({result:e instanceof Array&&!e.some(e=>e>=t.sof.length),msg:"invalid_toggleIndexes"}),toggleBits:(e,t)=>({result:e instanceof Array,msg:"invalid_toggleBits"}),prefixData:o.bind("prefixData"),postfixData:o.bind("postfixData")},d={timeInterval:{min:5,max:32767},manchesterInterval:{min:0,max:1},rxTimeout:{min:0,max:255},repetitions:{min:1,max:255}},u={words(e,t){const a={result:!0,msg:"word_interval_out_of_bounds"},i=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return e.forEach(e=>{r(e,i.min,i.max)||(a.result=!1)}),a},agc(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"agc_out_of_bounds"}},toggleSof(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"toggleSof_out_of_bounds"}},sof(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"sof_out_of_bounds"}},eof(e,t){const a=t.hasOwnProperty("manchesterUnit")?d.manchesterInterval:d.timeInterval;return{result:r(e,a.min,a.max),msg:"eof_out_of_bounds"}},repetitions:(e,t)=>({result:r(e,d.repetitions.min,d.repetitions.max),msg:"repetitions_out_of_bounds"}),interval:(e,t)=>({result:r(e,d.timeInterval.min,d.timeInterval.max),msg:"interval_out_of_bounds"}),rxTimeout:(e,t)=>({result:r(e,d.rxTimeout.min,d.rxTimeout.max),msg:"rxTimeout_out_of_bounds"}),manchesterUnit:(e,t)=>({result:r(e,d.timeInterval.min,d.timeInterval.max),msg:"manchesterUnit_out_of_bounds"})},p={min:1e3,max:2e5},m={min:58e3,max:812e3},c={min:5e3,max:5e4},h={modulation(e,t){const a=["type","baudRate","channelSpacing","channelDeviation"],i={result:!0,msg:"invalid_modulation_properties"};for(let t=0;t({result:!Object.keys(e).some(t=>!i(e[t])),msg:"invalid_pronto_cmds"}),toggleCmds:(e,t)=>({result:!Object.keys(e).some(t=>!i(e[t])),msg:"invalid_pronto_toggleCmds"}),repetitions:(e,t)=>({result:r(e,d.repetitions.min,d.repetitions.max),msg:"repetitions_out_of_bounds"})},f={carrier:(e,t)=>({result:r(e,433e6,43399e4),msg:"carrier_out_of_bounds"})},g={min:868e6,max:8689e5},k={carrier:(e,t)=>({result:r(e,g.min,g.max),msg:"carrier_out_of_bounds"})},y={min:3e4,max:58e3},b={min:30,max:70},w={carrier:(e,t)=>({result:r(e,y.min,y.max),msg:"invalid_carrier"}),dutyCycle:(e,t)=>({result:r(e,b.min,b.max),msg:"dutyCycle_out_of_bounds"})};e.exports={validate:function(e,t,a){for(const r in a){const i=a[r],n=e[r];if("function"==typeof n){const e=n(i,a);t(e.msg,e.result)}}},genericValidator:l,irValidator:w,rfValidator:u,rf433Validator:f,rf868Validator:k,modulationValidator:h,prontoValidator:v}},function(e){e.exports=JSON.parse('{"USD":"$","CAD":"$","EUR":"€","AED":"د.إ.‏","AFN":"؋","ALL":"Lek","AMD":"դր.","ARS":"$","AUD":"$","AZN":"ман.","BAM":"KM","BDT":"৳","BGN":"лв.","BHD":"د.ب.‏","BIF":"FBu","BND":"$","BOB":"Bs","BRL":"R$","BWP":"P","BYR":"BYR","BZD":"$","CDF":"FrCD","CHF":"CHF","CLP":"$","CNY":"CN¥","COP":"$","CRC":"₡","CVE":"CV$","CZK":"Kč","DJF":"Fdj","DKK":"kr","DOP":"RD$","DZD":"د.ج.‏","EEK":"kr","EGP":"ج.م.‏","ERN":"Nfk","ETB":"Br","GBP":"£","GEL":"GEL","GHS":"GH₵","GNF":"FG","GTQ":"Q","HKD":"$","HNL":"L","HRK":"kn","HUF":"Ft","IDR":"Rp","ILS":"₪","INR":"টকা","IQD":"د.ع.‏","IRR":"﷼","ISK":"kr","JMD":"$","JOD":"د.أ.‏","JPY":"¥","KES":"Ksh","KHR":"៛","KMF":"FC","KRW":"₩","KWD":"د.ك.‏","KZT":"тңг.","LBP":"ل.ل.‏","LKR":"SL Re","LTL":"Lt","LVL":"Ls","LYD":"د.ل.‏","MAD":"د.م.‏","MDL":"MDL","MGA":"MGA","MKD":"MKD","MMK":"K","MOP":"MOP$","MUR":"MURs","MXN":"$","MYR":"RM","MZN":"MTn","NAD":"N$","NGN":"₦","NIO":"C$","NOK":"kr","NPR":"नेरू","NZD":"$","OMR":"ر.ع.‏","PAB":"B/.","PEN":"S/.","PHP":"₱","PKR":"₨","PLN":"zł","PYG":"₲","QAR":"ر.ق.‏","RON":"RON","RSD":"дин.","RUB":"руб.","RWF":"FR","SAR":"ر.س.‏","SDG":"SDG","SEK":"kr","SGD":"$","SOS":"Ssh","SYP":"ل.س.‏","THB":"฿","TND":"د.ت.‏","TOP":"T$","TRY":"TL","TTD":"$","TWD":"NT$","TZS":"TSh","UAH":"₴","UGX":"USh","UYU":"$","UZS":"UZS","VEF":"Bs.F.","VND":"₫","XAF":"FCFA","XOF":"CFA","YER":"ر.ي.‏","ZAR":"R","ZMK":"ZK"}')},function(e,t,a){"use strict";try{const t=a(1),r=a(21),i=a(1),n=a(322);t&&i&&i.promisify&&(e.exports.openAsync=i.promisify(t.open),e.exports.closeAsync=i.promisify(t.close),e.exports.readAsync=i.promisify(t.read),e.exports.statAsync=i.promisify(t.stat),e.exports.readFileAsync=i.promisify(t.readFile),e.exports.readDirAsync=i.promisify(t.readdir),e.exports.lstatAsync=i.promisify(t.lstat),e.exports.imageSizeAsync=i.promisify(n)),r&&(e.exports.join=r.join,e.exports.extname=r.extname,e.exports.basename=r.basename,e.exports.dirname=r.dirname)}catch(e){}},function(e,t,a){"use strict";(function(t){var r=a(1),i=a(21),n=a(22),s=a(334);function o(e,t){var a=s(e,t);if(a in n){var r=n[a].calculate(e,t);if(!1!==r)return r.type=a,r}throw new TypeError("unsupported file type: "+a+" (file: "+t+")")}e.exports=function(e,a){if(t.isBuffer(e))return o(e);if("string"!=typeof e)throw new TypeError("invalid invocation");var n=i.resolve(e);if("function"!=typeof a)return o(function(e){var a=r.openSync(e,"r"),i=r.fstatSync(a).size,n=Math.min(i,524288),s=new t(n);return r.readSync(a,s,0,n,0),r.closeSync(a),s}(n),n);!function(e,a){r.open(e,"r",(function(i,n){if(i)return a(i);r.fstat(n,(function(i,s){if(i)return a(i);var o=s.size;if(o<=0)return a(new Error("File size is not greater than 0 —— "+e));var l=Math.min(o,524288),d=new t(l);r.read(n,d,0,l,0,(function(e){if(e)return a(e);r.close(n,(function(e){a(e,d)}))}))}))}))}(n,(function(e,t){if(e)return a(e);var r;try{r=o(t,n)}catch(t){e=t}a(e,r)}))},e.exports.types=Object.keys(n)}).call(this,a(2).Buffer)},function(e,t,a){"use strict";e.exports={detect:function(e){return"BM"===e.toString("ascii",0,2)},calculate:function(e){return{width:e.readUInt32LE(18),height:Math.abs(e.readInt32LE(22))}}}},function(e,t,a){"use strict";e.exports={detect:function(e){return 0===e.readUInt16LE(0)&&2===e.readUInt16LE(2)},calculate:a(23).calculate}},function(e,t,a){"use strict";e.exports={detect:function(e){return 542327876===e.readUInt32LE(0)},calculate:function(e){return{height:e.readUInt32LE(12),width:e.readUInt32LE(16)}}}},function(e,t,a){"use strict";var r=/^GIF8[79]a/;e.exports={detect:function(e){var t=e.toString("ascii",0,6);return r.test(t)},calculate:function(e){return{width:e.readUInt16LE(6),height:e.readUInt16LE(8)}}}},function(e,t,a){"use strict";function r(e,t){return{height:e.readUInt16BE(t),width:e.readUInt16BE(t+2)}}function i(e,t){if(t>e.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==e[t])throw new TypeError("Invalid JPG, marker table corrupted")}e.exports={detect:function(e){return"ffd8"===e.toString("hex",0,2)},calculate:function(e){var t,a;for(e=e.slice(4);e.length;){if(t=e.readUInt16BE(0),i(e,t),192===(a=e[t+1])||193===a||194===a)return r(e,t+5);e=e.slice(t+2)}throw new TypeError("Invalid JPG, no size found")}}},function(e,t,a){"use strict";e.exports={detect:function(e){if("PNG\r\n\n"===e.toString("ascii",1,8)){var t=e.toString("ascii",12,16);if("CgBI"===t&&(t=e.toString("ascii",28,32)),"IHDR"!==t)throw new TypeError("invalid png");return!0}},calculate:function(e){return"CgBI"===e.toString("ascii",12,16)?{width:e.readUInt32BE(32),height:e.readUInt32BE(36)}:{width:e.readUInt32BE(16),height:e.readUInt32BE(20)}}}},function(e,t,a){"use strict";e.exports={detect:function(e){return"8BPS"===e.toString("ascii",0,4)},calculate:function(e){return{width:e.readUInt32BE(18),height:e.readUInt32BE(14)}}}},function(e,t,a){"use strict";var r=/]+[^>]*>/;var i=/]+>/,n=/\bwidth=(['"])([^%]+?)\1/,s=/\bheight=(['"])([^%]+?)\1/,o=/\bviewBox=(['"])(.+?)\1/;function l(e){var t=e.split(" ");return{width:parseInt(t[2],10),height:parseInt(t[3],10)}}e.exports={detect:function(e){return r.test(e)},calculate:function(e){var t=e.toString("utf8").match(i);if(t){var a=function(e){var t=e.match(n),a=e.match(s),r=e.match(o);return{width:t&&parseInt(t[2],10),height:a&&parseInt(a[2],10),viewbox:r&&l(r[2])}}(t[0]);if(a.width&&a.height)return function(e){return{width:e.width,height:e.height}}(a);if(a.viewbox)return function(e){var t=e.viewbox.width/e.viewbox.height;return e.width?{width:e.width,height:Math.floor(e.width/t)}:e.height?{width:Math.floor(e.height*t),height:e.height}:{width:e.viewbox.width,height:e.viewbox.height}}(a)}throw new TypeError("invalid svg")}}},function(e,t,a){"use strict";(function(t){var r=a(1),i=a(332);function n(e,t){var a=i(e,16,8,t);return(i(e,16,10,t)<<16)+a}function s(e){if(e.length>24)return e.slice(12)}e.exports={detect:function(e){var t=e.toString("hex",0,4);return"49492a00"===t||"4d4d002a"===t},calculate:function(e,a){if(!a)throw new TypeError("Tiff doesn't support buffer");var o="BE"===function(e){var t=e.toString("ascii",0,2);return"II"===t?"LE":"MM"===t?"BE":void 0}(e),l=function(e,t){for(var a,r,o,l={};e&&e.length&&(a=i(e,16,0,t),r=i(e,16,2,t),o=i(e,32,4,t),0!==a);)1!==o||3!==r&&4!==r||(l[a]=n(e,t)),e=s(e);return l}(function(e,a,n){var s=i(e,32,4,n),o=1024,l=r.statSync(a).size;s+o>l&&(o=l-s-10);var d=new t(o),u=r.openSync(a,"r");return r.readSync(u,d,0,o,s),d.slice(2)}(e,a,o),o),d=l[256],u=l[257];if(!d||!u)throw new TypeError("Invalid Tiff, missing tags");return{width:d,height:u}}}}).call(this,a(2).Buffer)},function(e,t,a){"use strict";e.exports=function(e,t,a,r){return a=a||0,e["readUInt"+t+(r?"BE":"LE")].call(e,a)}},function(e,t,a){"use strict";e.exports={detect:function(e){var t="RIFF"===e.toString("ascii",0,4),a="WEBP"===e.toString("ascii",8,12),r="VP8"===e.toString("ascii",12,15);return t&&a&&r},calculate:function(e){var t=e.toString("ascii",12,16);if(e=e.slice(20,30),"VP8X"===t){var a=e[0];return!(!(0==(192&a))||!(0==(1&a)))&&function(e){return{width:1+e.readUIntLE(4,3),height:1+e.readUIntLE(7,3)}}(e)}if("VP8 "===t&&47!==e[0])return function(e){return{width:16383&e.readInt16LE(6),height:16383&e.readInt16LE(8)}}(e);var r=e.toString("hex",3,6);return"VP8L"===t&&"9d012a"!==r&&function(e){return{width:1+((63&e[2])<<8|e[1]),height:1+((15&e[4])<<10|e[3]<<2|(192&e[2])>>6)}}(e)}}},function(e,t,a){"use strict";var r=a(22);e.exports=function(e,t){var a;for(a in r)if(r[a].detect(e,t))return a}},function(e){e.exports=JSON.parse('{"title":"App","type":"object","definitions":{"i18nObject":{"oneOf":[{"type":"string","minLength":1},{"type":"object","required":["en"],"patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false}]},"i18nArray":{"type":"object","patternProperties":{"^.*$":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"author":{"required":["name"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"website":{"type":"string"}}},"images":{"required":["large","small"],"additionalProperties":false,"properties":{"large":{"type":"string"},"small":{"type":"string"},"xlarge":{"type":"string"}}},"flowCard":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"titleFormatted":{"$ref":"#/definitions/i18nObject"},"deprecated":{"type":"boolean","enum":[true]},"highlight":{"type":"boolean","enum":[true]},"advanced":{"type":"boolean","enum":[true]},"platforms":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["cloud","local"]}},"droptoken":{"oneOf":[{"type":"string","enum":["boolean","number","string","image"]},{"type":"array","items":{"type":"string","enum":["boolean","number","string","image"]}}]},"tokens":{"type":"array","items":{"type":"object","required":["name","title"],"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["boolean","number","string","image"],"default":"string"},"title":{"$ref":"#/definitions/i18nObject"},"example":{"oneOf":[{"$ref":"#/definitions/i18nObject"},{"type":"number"},{"type":"boolean"}]}}}},"args":{"type":"array","items":{"anyOf":[{"type":"object","required":["name","type","filter"],"properties":{"name":{"type":"string"},"type":{"type":"string","enum":["device"]},"filter":{"oneOf":[{"type":"string"},{"type":"object"}]}}},{"type":"object","required":["name","type"],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"name":{"type":"string"},"type":{"type":"string","enum":["text","autocomplete","device","date","time","color","checkbox","code"]},"placeholder":{"$ref":"#/definitions/i18nObject"},"filter":{"oneOf":[{"type":"string"},{"type":"object"}]}}},{"type":"object","required":["name","type"],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"name":{"type":"string"},"type":{"type":"string","enum":["number","range"]},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0},"label":{"$ref":"#/definitions/i18nObject"},"labelMultiplier":{"type":"number"},"labelDecimals":{"type":"number","mimimum":0,"maximum":10}}},{"type":"object","required":["name","type","values"],"properties":{"title":{"$ref":"#/definitions/i18nObject"},"name":{"type":"string"},"type":{"type":"string","enum":["dropdown"]},"values":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"$ref":"#/definitions/i18nObject"}}}}}}]}}}},"appSettings":{"type":"array","items":{"oneOf":[{"type":"object","required":["id","type","title"],"properties":{"type":{"type":"string","enum":["text","password","textarea","label"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"pattern":{"type":"string"}}},{"type":"object","required":["id","type","title"],"properties":{"type":{"type":"string","enum":["number","slider"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"number"},"units":{"$ref":"#/definitions/i18nObject"},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0}}},{"type":"object","required":["id","type","title","values"],"properties":{"type":{"type":"string","enum":["radio","dropdown"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"values":{"type":"array","items":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"}}}}}},{"type":"object","required":["id","type","title"],"properties":{"type":{"type":"string","enum":["checkbox"]},"id":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"boolean"}}},{"type":"object","required":["type","title","children"],"properties":{"type":{"type":"string","enum":["group"]},"title":{"$ref":"#/definitions/i18nObject"},"children":{"$ref":"#/definitions/appSettings"}}}]}},"driverSettings":{"type":"array","items":{"oneOf":[{"type":"object","required":["id","type","label"],"properties":{"type":{"type":"string","enum":["text","password","textarea","label"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"pattern":{"type":"string"},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["id","type","label"],"properties":{"type":{"type":"string","enum":["number","slider"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"number"},"units":{"$ref":"#/definitions/i18nObject"},"attr":{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0}}},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number","minimum":0},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["id","type","label","values"],"properties":{"type":{"type":"string","enum":["radio","dropdown"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"string"},"values":{"type":"array","items":{"type":"object","required":["id","label"],"properties":{"id":{"type":"string"},"label":{"$ref":"#/definitions/i18nObject"}}}},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["id","type","label"],"properties":{"type":{"type":"string","enum":["checkbox"]},"id":{"oneOf":[{"type":"string"},{"type":"number"}]},"label":{"$ref":"#/definitions/i18nObject"},"hint":{"$ref":"#/definitions/i18nObject"},"value":{"type":"boolean"},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}},{"type":"object","required":["type","label","children"],"properties":{"type":{"type":"string","enum":["group"]},"label":{"$ref":"#/definitions/i18nObject"},"children":{"$ref":"#/definitions/driverSettings"},"highlight":{"type":"boolean","enum":[true]},"zwave":{"$ref":"#/definitions/zwaveSetting"}}}]}},"matterDevice":{"type":"object","required":["vendorId","productId"],"properties":{"vendorId":{"oneOf":[{"type":"number","minimum":1,"maximum":65520},{"type":"array","items":{"type":"number","minimum":1,"maximum":65520}}]},"productId":{"oneOf":[{"type":"number","minimum":1,"maximum":65535},{"type":"array","items":{"type":"number","minimum":1,"maximum":65535}}]},"deviceVendorId":{"oneOf":[{"type":"number","minimum":1,"maximum":65520},{"type":"array","items":{"type":"number","minimum":1,"maximum":65520}}]},"deviceProductName":{"oneOf":[{"type":"string","minLength":1,"maxLength":32},{"type":"array","items":{"type":"string","minLength":1,"maxLength":32}}]},"learnmode":{"type":"object","required":["instruction"],"properties":{"image":{"type":"string"},"instruction":{"$ref":"#/definitions/i18nObject"}}}}},"zigbeeDevice":{"type":"object","required":["manufacturerName","productId","endpoints"],"properties":{"manufacturerName":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"productId":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"endpoints":{"type":"object","propertyNames":{"type":"string","pattern":"^[0-9]+$"},"additionalProperties":{"type":"object","additionalProperties":false,"properties":{"clusters":{"type":"array","items":{"type":"number"}},"bindings":{"type":"array","items":{"type":"number"}}}}},"learnmode":{"type":"object","required":["instruction"],"properties":{"image":{"type":"string"},"instruction":{"$ref":"#/definitions/i18nObject"}}}}},"zwaveDevice":{"type":"object","required":["manufacturerId","productTypeId","productId"],"properties":{"manufacturerId":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"productTypeId":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"productId":{"oneOf":[{"type":"number"},{"type":"array","items":{"type":"number"}}]},"learnmode":{"type":"object","required":["instruction"],"properties":{"image":{"type":"string"},"instruction":{"$ref":"#/definitions/i18nObject"}}},"associationGroups":{"type":"array","items":{"type":"number"}},"associationGroupsMultiChannel":{"type":"array","items":{"type":"number"}},"associationGroupsOptions":{"type":"object","properties":{"hint":{"$ref":"#/definitions/i18nObject"}}},"wakeUpInterval":{"type":"number"},"defaultConfiguration":{"type":"array","items":{"type":"object","required":["id","size","value"],"properties":{"id":{"type":"number"},"size":{"type":"number","enum":[1,2,4]},"value":{"oneOf":[{"type":"number"},{"type":"string"}]},"multiChannelNodes":{"type":"object","items":{"type":"object","required":["class","capabilities","name"],"properties":{"class":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}},"icon":{"type":"string"},"name":{"$ref":"#/definitions/i18nObject"}}}}}}}}},"zwaveSetting":{"type":"object","required":["index","size"],"properties":{"index":{"type":"number"},"size":{"type":"number","enum":[1,2,4]},"signed":{"type":"boolean"}}}},"required":["id","name","version","compatibility","author"],"properties":{"id":{"type":"string"},"name":{"$ref":"#/definitions/i18nObject"},"description":{"$ref":"#/definitions/i18nObject"},"author":{"$ref":"#/definitions/author"},"images":{"$ref":"#/definitions/images"},"version":{"type":"string"},"compatibility":{"type":"string"},"sdk":{"type":"number","default":3,"minimum":1,"maximum":3},"platforms":{"type":"array","items":{"type":"string","enum":["cloud","local"]}},"platformLocalRequiredFeatures":{"type":"array","items":{"type":"string","enum":["nfc","speaker","ledring","matter"]}},"tags":{"$ref":"#/definitions/i18nArray"},"permissions":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"bugs":{"type":"object","properties":{"url":{"type":"string","pattern":"^https?://"}}},"homepage":{"type":"string","pattern":"^https://"},"support":{"type":"string","pattern":"^(https://|mailto:)"},"source":{"type":"string","pattern":"^https://"},"athomForumDiscussionId":{"type":"number"},"homeyCommunityTopicId":{"type":"number"},"category":{"oneOf":[{"type":"string"},{"type":"array","uniqueItems":true,"items":{"type":"string"}}]},"contributors":{"type":"object","patternProperties":{"^(developers|translators)$":{"type":"array","items":{"$ref":"#/definitions/author"}}},"additionalProperties":false},"contributing":{"type":"object","properties":{"donate":{"type":"object","additionalProperties":false,"properties":{"githubSponsors":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string"}}},"bunq":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string"}}},"patreon":{"type":"object","additionalProperties":false,"properties":{"username":{"type":"string"}}},"paypal":{"type":"object","additionalProperties":false,"patternProperties":{"^(username|email)$":{"type":"string"},"currency":{"type":"string"}}}}}}},"screensavers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"title":{"$ref":"#/definitions/i18nObject"}}}},"capabilities":{"type":"object","patternProperties":{"^.*$":{"type":"object"}},"additionalProperties":false},"drivers":{"type":"array","items":{"type":"object","required":["id","name","class","capabilities"],"properties":{"id":{"type":"string"},"name":{"$ref":"#/definitions/i18nObject"},"class":{"type":"string"},"capabilities":{"type":"array","uniqueItems":true,"items":{"type":"string"}},"capabilitiesOptions":{"type":"object"},"images":{"$ref":"#/definitions/images"},"deprecated":{"type":"boolean","enum":[true]},"discovery":{"type":"string"},"energy":{"type":"object","properties":{"approximation":{"oneOf":[{"required":["usageOn","usageOff"],"additionalProperties":false,"properties":{"usageOn":{"type":"number"},"usageOff":{"type":"number"}}},{"required":["usageConstant"],"additionalProperties":false,"properties":{"usageConstant":{"type":"number"}}}]},"cumulative":{"type":"boolean","enum":[true]},"cumulativeImportedCapability":{"type":"string"},"cumulativeExportedCapability":{"type":"string"},"batteries":{"type":"array","minItems":1,"items":{"type":"string"}}}},"pair":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"template":{"type":"string"},"options":{"type":"object"},"navigation":{"type":"object","properties":{"prev":{"type":"string"},"next":{"type":"string"}}}}}},"settings":{"$ref":"#/definitions/driverSettings"},"gtin":{"oneOf":[{"type":"string"},{"type":"array","uniqueItems":true,"items":{"type":"string"}}]},"matter":{"$ref":"#/definitions/matterDevice"},"zwave":{"$ref":"#/definitions/zwaveDevice"},"zigbee":{"$ref":"#/definitions/zigbeeDevice"},"rf433":{"type":"object","properties":{"satelliteMode":{"type":"boolean"}}},"infrared":{"type":"object","properties":{"satelliteMode":{"type":"boolean"}}},"platforms":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["cloud","local"]}},"connectivity":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["lan","cloud","ble","zwave","zigbee","infrared","rf433","rf868","matter"]}}}}},"flow":{"type":"object","properties":{"triggers":{"type":"array","items":{"$ref":"#/definitions/flowCard"}},"conditions":{"type":"array","items":{"$ref":"#/definitions/flowCard"}},"actions":{"type":"array","items":{"$ref":"#/definitions/flowCard"}}}},"signals":{"type":"object","patternProperties":{"^(433|868|ir)$":{"type":"object"}},"additionalProperties":false},"brandColor":{"type":"string","minLength":7,"maxLength":7,"pattern":"^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$"},"discovery":{"type":"object","patternProperties":{"^.*$":{"type":"object","required":["type"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["mdns-sd","ssdp","mac"]},"id":{"type":"string","minLength":1},"conditions":{"type":"array","items":{"type":"array","items":{"type":"object","required":["field","match"],"additionalProperties":false,"properties":{"field":{"type":"string"},"match":{"type":"object","required":["type","value"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","regex"]},"value":{"type":"string"}}}}}}},"mdns-sd":{"type":"object","required":["name","protocol"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"protocol":{"type":"string","enum":["tcp","udp"]}}},"ssdp":{"type":"object","required":["search"],"additionalProperties":false,"properties":{"search":{"type":"string","minLength":1}}},"mac":{"type":"object","required":["manufacturer"],"additionalProperties":false,"properties":{"manufacturer":{"type":"array","uniqueItems":true,"minItems":1,"maxItems":32,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"integer","minimum":0,"maximum":255}}}}}}}}},"settings":{"$ref":"#/definitions/appSettings"}}}')},function(e){e.exports=JSON.parse('{"homey:manager:geolocation":{"title":{"en":"Read Homey\'s location","nl":"Homey\'s locatie uitlezen","de":"Homeys Standort lesen","fr":"Lire la position de Homey","it":"Leggi la posizione di Homey","sv":"Läs av Homeys plats","no":"Les av Homeys posisjon","es":"Leer la posición de Homey","da":"Læs Homeys placering","ru":"Читать местонахождение Homey","pl":"Odczytaj lokalizację Homey","ko":"Homey 위치 읽기"}},"homey:manager:ledring":{"title":{"en":"Control Homey\'s LED ring","nl":"Homey\'s LED ring besturen","de":"Homeys LED-Ring steuern","fr":"Contrôler l\'anneau LED de Homey","it":"Controlla l\'anello LED di Homey","sv":"Kontrollera Homeys LED-ring","no":"Kontroller Homeys LED-ring","es":"Controlar el anillo LED de Homey","da":"Kontroller Homeys LED-ring","ru":"Управлять светодиодным кольцом Homey","pl":"Steruj lampą pierścieniową Homey","ko":"Homey LED 링 제어"}},"homey:manager:media":{"title":{"en":"Control Homey\'s Music","nl":"Homey\'s Muziek besturen","de":"Homeys Musik steuern","fr":"Contrôler la musique de Homey","it":"Controlla la musica di Homey","sv":"Styr Homeys musik","no":"Kontroller Homeys musikk","es":"Controlar la música de Homey","da":"Kontroller Homeys musik","ru":"Управлять музыкой Homey","pl":"Steruj muzyką Homey","ko":"Homey의 음악 제어"}},"homey:manager:speech-input":{"title":{"en":"React to speech","nl":"Reageren op spraak","de":"Auf Sprache reagieren","fr":"Réagir au discours","it":"Reagisci al parlato","sv":"Reagera på tal","no":"Reager på tale","es":"Reaccionar al habla","da":"Reager på tale","ru":"Реагировать на голос","pl":"Reaguj na mowę","ko":"음성에 반응"}},"homey:manager:speech-output":{"title":{"en":"Let Homey talk","nl":"Homey laten praten","de":"Homey sprechen lassen","fr":"Laisser Homey parler","it":"Permetti a Homey di parlare","sv":"Låt Homey prata","no":"La Homey snakke","es":"Deja que Homey hable","da":"Lad Homey tale","ru":"Разрешить Homey говорить","pl":"Pozwól Homey mówić","ko":"Homey의 음성 안내"}},"homey:wireless:433":{"title":{"en":"Send and receive on the 433 MHz frequency","nl":"Verzenden en ontvangen op de 433 MHz frequentie","de":"Auf der 433MHz-Frequenz senden und empfangen","fr":"Envoyer et recevoir sur la fréquence 433 MHz","it":"Invia e ricevi sulla frequenza 433 MHz","sv":"Skicka och ta emot på frekvensen 433 MHz","no":"Send og motta på frekvensen 433 MHz","es":"Enviar y recibir en la frecuencia de 433 MHz","da":"Send, og modtag på 433 MHz-frekvensen","ru":"Отправка и получение сигналов на частоте 433 МГц","pl":"Wysyłaj i odbieraj sygnały o częstotliwości 433 MHz","ko":"433MHz 주파수 송수신"}},"homey:wireless:868":{"title":{"en":"Send and receive on the 868 MHz frequency","nl":"Verzenden en ontvangen op de 868 MHz frequentie","de":"Auf der 868MHz-Frequenz senden und empfangen","fr":"Envoyer et recevoir sur la fréquence 868 MHz","it":"Invia e ricevi sulla frequenza 868 MHz","sv":"Skicka och ta emot på frekvensen 468 MHz","no":"Send og motta på frekvensen 468 MHz","es":"Enviar y recibir en la frecuencia de 868 MHz","da":"Send, og modtag på 868 MHz-frekvensen","ru":"Отправка и получение сигналов на частоте 868 МГц","pl":"Wysyłaj i odbieraj sygnały o częstotliwości 868 MHz","ko":"868MHz 주파수 송수신"}},"homey:wireless:ir":{"title":{"en":"Send and receive Infrared","nl":"Infrarood verzenden en ontvangen","de":"Infrarot senden und empfangen","fr":"Envoyer et recevoir en infrarouge","it":"Invia e ricevi in infrarossi","sv":"Skicka och ta emot infrarött","no":"Send og motta infrarødt","es":"Enviar y recibir en infrarrojos","da":"Send, og modtag på infrarød","ru":"Отправка и получение ИК-сигналов","pl":"Wysyłaj i odbieraj podczerwień","ko":"적외선 송수신"}},"homey:wireless:zwave":{"title":{"en":"Send and receive Z-Wave for specific devices","nl":"Z-Wave verzenden en ontvangen voor specifieke apparaten","de":"Z-Wave für spezifische Geräte senden und empfangen","fr":"Envoyer et recevoir Z-Wave pour les appareils spécifiques","it":"Invia e ricevi Z-Wave per dispositivi specifici","sv":"Skicka och ta emot Z-Wave för specifika enheter","no":"Send og motta Z-Wave for spesifikke enheter","es":"Enviar y recibir Z-Wave para dispositivos específicos","da":"Send, og modtag på Z-Wave for specifikke enheder","ru":"Отправлять и получать сигналы Z-Wave для определенных устройств","pl":"Wysyłaj i odbieraj Z-Wave dla określonych urządzeń","ko":"특정 제품용 Z-Wave 송수신"}},"homey:wireless:zigbee":{"title":{"en":"Send and receive Zigbee for specific devices","nl":"Zigbee verzenden en ontvangen voor specifieke apparaten","de":"Zigbee für spezifische Geräte senden und empfangen","fr":"Envoyer et recevoir Zigbee pour les appareils spécifiques","it":"Invia e ricevi Zigbee per dispositivi specifici","sv":"Skicka och ta emot Zigbee för specifika enheter","no":"Send og motta Zigbee for spesifikke enheter","es":"Enviar y recibir Zigbee para dispositivos específicos","da":"Send, og modtag på Zigbee for specifikke enheder","ru":"Отправлять и получать сигналы Zigbee для определенных устройств","pl":"Wysyłaj i odbieraj Zigbee dla określonych urządzeń","ko":"특정 제품용 Zigbee 송수신"}},"homey:wireless:nfc":{"title":{"en":"Read and write NFC tags","nl":"NFC tags lezen en schrijven","de":"NFC-Tags lesen und schreiben","fr":"Lire et écrire les tags NFC","it":"Leggi e scrivi i tag NFC","sv":"Läs och skriv NFC-taggar","no":"Les og skriv NFC-tagger","es":"Leer y escribir etiquetas NFC","da":"Læs, og skriv NFC-tags","ru":"Чтение и запись тегов NFC","pl":"Odczytuj i twórz tagi NFC","ko":"NFC 태그 읽기 및 쓰기"}},"homey:manager:api":{"title":{"en":"Gain full access to Homey to control everything on behalf of the user","nl":"Volledige toegang tot Homey om alles te bedienen namens de gebruiker","de":"Erhalte vollen Zugriff auf Homey, um alles im Namen des Benutzers zu steuern","fr":"Obtenir l\'accès complet à Homey pour contrôler tout au nom de l\'utilisateur","it":"Ottieni l\'accesso completo a Homey per controllare tutto a nome dell\'utente","sv":"Få full åtkomst till Homey för att styra allt åt användaren","no":"Få full tilgang til Homey for å kontrollere alt på vegne av brukeren","es":"Acceso completo a Homey para controlarlo todo en nombre del usuario","da":"Få fuld adgang til Homey for at kontrollere alt på brugerens vegne","ru":"Получите полный доступ к Homey, чтобы контролировать все от имени пользователя","pl":"Zdobądź pełny dostęp do Homey, aby sterować wszystkim w imieniu użytkownika","ko":"사용자를 대신해 모든 것을 제어할 수 있도록 Homey에 대한 전체 액세스 권한 얻기"}},"homey:wireless:ble":{"title":{"en":"Communicate with Bluetooth Low Energy devices","nl":"Communiceren met Bluetooth Low Energy apparaten","de":"Mit Bluetooth-Low-Energy-Geräten kommunizieren","fr":"Communiquer avec les appareils Bluetooth à faible énergie","it":"Comunica con i dispositivi Bluetooth Low Energy","sv":"Kommunicera med Bluetooth låg energi-enheter","no":"Kommuniser med Bluetooth Low Energy-enheter","es":"Comunicarse con dispositivos de Bluetooth Low Energy","da":"Kommuniker med Bluetooth low energy-enheder","ru":"Связываться с устройствами Bluetooth с низким энергопотреблением","pl":"Porozumiewaj się z urządzeniami Bluetooth Low Energy","ko":"블루투스 LE 제품과 통신"}}}')},function(e,t,a){"use strict";e.exports=class{static getCodecs(){return a(338)}}},function(e){e.exports=JSON.parse('{"homey:codec:mp3":{},"homey:codec:ogg":{},"homey:codec:flac":{}}')}])})); \ No newline at end of file