iobroker.modbus 4.0.4 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +39 -30
  2. package/admin/asset-manifest.json +6 -16
  3. package/admin/index_m.html +1 -1
  4. package/admin/static/css/main.fb1757a1.css +2 -0
  5. package/admin/static/css/main.fb1757a1.css.map +1 -0
  6. package/admin/static/js/main.dca2f512.js +3 -0
  7. package/admin/static/js/{2.29338295.chunk.js.LICENSE.txt → main.dca2f512.js.LICENSE.txt} +31 -45
  8. package/admin/static/js/main.dca2f512.js.map +1 -0
  9. package/io-package.json +82 -37
  10. package/lib/jsmodbus/handler/client/ReadCoils.js +9 -8
  11. package/lib/jsmodbus/handler/client/ReadDiscreteInputs.js +6 -6
  12. package/lib/jsmodbus/handler/client/ReadHoldingRegisters.js +5 -5
  13. package/lib/jsmodbus/handler/client/ReadInputRegisters.js +6 -6
  14. package/lib/jsmodbus/handler/client/WriteMultipleCoils.js +5 -5
  15. package/lib/jsmodbus/handler/client/WriteMultipleRegisters.js +5 -5
  16. package/lib/jsmodbus/handler/client/WriteSingleCoil.js +4 -4
  17. package/lib/jsmodbus/handler/client/WriteSingleRegister.js +5 -5
  18. package/lib/jsmodbus/handler/server/ReadCoils.js +32 -15
  19. package/lib/jsmodbus/handler/server/ReadDiscreteInputs.js +3 -2
  20. package/lib/jsmodbus/handler/server/ReadHoldingRegisters.js +10 -11
  21. package/lib/jsmodbus/handler/server/ReadInputRegisters.js +3 -2
  22. package/lib/jsmodbus/handler/server/WriteMultipleCoils.js +5 -2
  23. package/lib/jsmodbus/handler/server/WriteMultipleRegisters.js +6 -3
  24. package/lib/jsmodbus/handler/server/WriteSingleCoil.js +5 -2
  25. package/lib/jsmodbus/handler/server/WriteSingleRegister.js +5 -2
  26. package/lib/master.js +6 -2
  27. package/main.js +17 -12
  28. package/package.json +6 -6
  29. package/admin/static/css/2.faf2f676.chunk.css +0 -2
  30. package/admin/static/css/2.faf2f676.chunk.css.map +0 -1
  31. package/admin/static/css/main.e2d673ee.chunk.css +0 -2
  32. package/admin/static/css/main.e2d673ee.chunk.css.map +0 -1
  33. package/admin/static/js/2.29338295.chunk.js +0 -3
  34. package/admin/static/js/2.29338295.chunk.js.map +0 -1
  35. package/admin/static/js/main.6af5c534.chunk.js +0 -2
  36. package/admin/static/js/main.6af5c534.chunk.js.map +0 -1
  37. package/admin/static/js/runtime-main.3ac94131.js +0 -2
  38. package/admin/static/js/runtime-main.3ac94131.js.map +0 -1
package/README.md CHANGED
@@ -124,7 +124,7 @@ This offset is added to the read value after above multiplication. So the calcul
124
124
 
125
125
  ### Formula
126
126
  This field can be used for advanced calculations if Factor and Offset is not sufficient. If this field is set, then the Factor and Offset field is ignored.
127
- The Formula is executed by the eval() function. Therefore all common functions are supported. Especially the Math functions. The formula must comply with Javascript syntax, therefore also take care about upper and lower cases.
127
+ The Formula is executed by the eval() function. Therefore, all common functions are supported. Especially the Math functions. The formula must comply with Javascript syntax, therefore also take care about upper and lower cases.
128
128
 
129
129
  In the formula, "x" has to be used for the read value from Modbus. E.g. `x * Math.pow(10, sf['40065'])`
130
130
 
@@ -151,36 +151,36 @@ Cyclic write
151
151
  Use value as scaling factor. This is needed to used dynamic scaling factors which are on some systems provided through values on interface. If a value is marked with this flac, then the value will stored into a variable with following naming convention: sf['Modbus_address']. This variable can then later used in any formula for other parameters. E.g. following formula can set: "(x * sf['40065']) + 50;"
152
152
 
153
153
  ## Data types
154
- - uint16be - Unsigned 16 bit (Big Endian): AABB => AABB
155
- - uint16le - Unsigned 16 bit (Little Endian): AABB => BBAA
156
- - int16be - Signed 16 bit (Big Endian): AABB => AABB
157
- - int16le - Signed 16 bit (Little Endian): AABB => BBAA
158
- - uint32be - Unsigned 32 bit (Big Endian): AABBCCDD => AABBCCDD
159
- - uint32le - Unsigned 32 bit (Little Endian): AABBCCDD => DDCCBBAA
160
- - uint32sw - Unsigned 32 bit (Big Endian Word Swap): AABBCCDD => CCDDAABB
161
- - uint32sb - Unsigned 32 bit (Big Endian Byte Swap): AABBCCDD => DDCCBBAA
162
- - int32be - Signed 32 bit (Big Endian): AABBCCDD => AABBCCDD
163
- - int32le - Signed 32 bit (Little Endian): ABBCCDD => DDCCBBAA
164
- - int32sw - Signed 32 bit (Big Endian Word Swap): AABBCCDD => CCDDAABB
165
- - int32sb - Signed 32 bit (Big Endian Byte Swap): AABBCCDD => DDCCBBAA
166
- - uint64be - Unsigned 64 bit (Big Endian): AABBCCDDEEFFGGHH => AABBCCDDEEFFGGHH
167
- - uint64le - Unsigned 64 bit (Little Endian): AABBCCDDEEFFGGHH => HHGGFFEEDDCCBBAA
168
- - uint8be - Unsigned 8 bit (Big Endian): AA => AA
169
- - uint8le - Unsigned 8 bit (Little Endian): AA => AA
170
- - int8be - Signed 8 bit (Big Endian): AA => AA
171
- - int8le - Signed 8 bit (Little Endian): AA => AA
172
- - floatbe - Float (Big Endian): AABBCCDD => AABBCCDD
173
- - floatle - Float (Little Endian): AABBCCDD => DDCCBBAA
174
- - floatsw - Float (Big Endian Word Swap): AABBCCDD => CCDDAABB
175
- - floatsb - Float (Big Endian Byte Swap): AABBCCDD => DDCCBBAA
176
- - doublebe - Double (Big Endian): AABBCCDDEEFFGGHH => AABBCCDDEEFFGGHH
177
- - doublele - Double (Little Endian): AABBCCDDEEFFGGHH => HHGGFFEEDDCCBBAA
178
- - string - String (Zero-end): ABCDEF\0 => ABCDEF\0
179
- - stringle - String (Little Endian, Zero-end): BADCFE\0 => ABCDEF\0
154
+ - `uint16be` - `Unsigned 16 bit (Big Endian): AABB => AABB`
155
+ - `uint16le` - `Unsigned 16 bit (Little Endian): AABB => BBAA`
156
+ - `int16be` - `Signed 16 bit (Big Endian): AABB => AABB`
157
+ - `int16le` - `Signed 16 bit (Little Endian): AABB => BBAA`
158
+ - `uint32be` - `Unsigned 32 bit (Big Endian): AABBCCDD => AABBCCDD`
159
+ - `uint32le` - `Unsigned 32 bit (Little Endian): AABBCCDD => DDCCBBAA`
160
+ - `uint32sw` - `Unsigned 32 bit (Big Endian Word Swap): AABBCCDD => CCDDAABB`
161
+ - `uint32sb` - `Unsigned 32 bit (Big Endian Byte Swap): AABBCCDD => DDCCBBAA`
162
+ - `int32be` - `Signed 32 bit (Big Endian): AABBCCDD => AABBCCDD`
163
+ - `int32le` - `Signed 32 bit (Little Endian): ABBCCDD => DDCCBBAA`
164
+ - `int32sw` - `Signed 32 bit (Big Endian Word Swap): AABBCCDD => CCDDAABB`
165
+ - `int32sb` - `Signed 32 bit (Big Endian Byte Swap): AABBCCDD => DDCCBBAA`
166
+ - `uint64be` - `Unsigned 64 bit (Big Endian): AABBCCDDEEFFGGHH => AABBCCDDEEFFGGHH`
167
+ - `uint64le` - `Unsigned 64 bit (Little Endian): AABBCCDDEEFFGGHH => HHGGFFEEDDCCBBAA`
168
+ - `uint8be` - `Unsigned 8 bit (Big Endian): AA => AA`
169
+ - `uint8le` - `Unsigned 8 bit (Little Endian): AA => AA`
170
+ - `int8be` - `Signed 8 bit (Big Endian): AA => AA`
171
+ - `int8le` - `Signed 8 bit (Little Endian): AA => AA`
172
+ - `floatbe` - `Float (Big Endian): AABBCCDD => AABBCCDD`
173
+ - `floatle` - `Float (Little Endian): AABBCCDD => DDCCBBAA`
174
+ - `floatsw` - `Float (Big Endian Word Swap): AABBCCDD => CCDDAABB`
175
+ - `floatsb` - `Float (Big Endian Byte Swap): AABBCCDD => DDCCBBAA`
176
+ - `doublebe` - `Double (Big Endian): AABBCCDDEEFFGGHH => AABBCCDDEEFFGGHH`
177
+ - `doublele` - `Double (Little Endian): AABBCCDDEEFFGGHH => HHGGFFEEDDCCBBAA`
178
+ - `string` - `String (Zero-end): ABCDEF\0 => ABCDEF\0`
179
+ - `stringle` - `String (Little Endian, Zero-end): BADCFE\0 => ABCDEF\0`
180
180
 
181
181
  Following description was copied from [here](http://www.chipkin.com/how-real-floating-point-and-32-bit-data-is-encoded-in-modbus-rtu-messages/)
182
182
 
183
- The point-to-point Modbus protocol is a popular choice for RTU communications if for no other reason that it’s basic convenience. The protocol itself controls the interactions of each device on a Modbus network, how device establishes a known address, how each device recognizes its messages and how basic information is extracted from the data. In essence, the protocol is the foundation of the entire Modbus network.
183
+ The point-to-point Modbus protocol is a popular choice for RTU communications if for no other reason that its basic convenience. The protocol itself controls the interactions of each device on a Modbus network, how device establishes a known address, how each device recognizes its messages and how basic information is extracted from the data. In essence, the protocol is the foundation of the entire Modbus network.
184
184
 
185
185
  Such convenience does not come without some complications however, and Modbus RTU Message protocol is no exception. The protocol itself was designed based on devices with a 16-bit register length. Consequently, special considerations were required when implementing 32-bit data elements. This implementation settled on using two consecutive 16-bit registers to represent 32 bits of data or essentially 4 bytes of data. It is within these 4 bytes of data that single-precision floating point data can be encoded into a Modbus RTU message.
186
186
 
@@ -191,7 +191,7 @@ For example, the number 123/456.00 as defined in the IEEE 754 standard for singl
191
191
 
192
192
  ![Image1](img/img1.png)
193
193
 
194
- The affects of various byte orderings are significant. For example, ordering the 4 bytes of data that represent 123456.00 in a B A D C sequence in known as a “byte swap”. When interpreted as an IEEE 744 floating point data type, the result is quite different:
194
+ The affects of various byte orderings are significant. For example, ordering the 4 bytes of data that represent 123456.00 in a `B A D C` sequence in known as a “byte swap”. When interpreted as an IEEE 744 floating point data type, the result is quite different:
195
195
 
196
196
  ![Image2](img/img2.png)
197
197
 
@@ -209,7 +209,8 @@ Clearly, when using network protocols such as Modbus, strict attention must be p
209
209
 
210
210
  The Modbus protocol itself is declared as a ‘big-Endian’ protocol, as per the Modbus Application Protocol Specification, V1.1.b:
211
211
 
212
- ```Modbus uses a “big-Endian” representation for addresses and data items. This means that when a numerical quantity larger than a single byte is transmitted, the most significant byte is sent first.```
212
+ **Modbus uses a “big-Endian” representation for addresses and data items.
213
+ This means that when a numerical quantity larger than a single byte is transmitted, the most significant byte is sent first.**
213
214
 
214
215
  Big-Endian is the most commonly used format for network protocols – so common, in fact, that it is also referred to as ‘network order’.
215
216
 
@@ -275,6 +276,14 @@ There are some programs in folder *test' to test the TCP communication:
275
276
  ### **WORK IN PROGRESS**
276
277
  -->
277
278
  ## Changelog
279
+ ### 5.0.2 (2022-05-13)
280
+ * (bluefox) Added debug outputs to catch errors
281
+
282
+ ### 5.0.0 (2022-05-11)
283
+ * BREAKING: All space characters will be replaced with underscores now in the Objects IDs, not only the first one.
284
+ * (Apollon77) Catch error reported by sentry when invalid Master port is entered
285
+ * (bluefox) GUI migrated to mui-v5
286
+
278
287
  ### 4.0.4 (2022-03-25)
279
288
  * (Apollon77/UncleSamSwiss) Prevent invalid state log
280
289
 
@@ -1,23 +1,13 @@
1
1
  {
2
2
  "files": {
3
- "main.css": "./static/css/main.e2d673ee.chunk.css",
4
- "main.js": "./static/js/main.6af5c534.chunk.js",
5
- "main.js.map": "./static/js/main.6af5c534.chunk.js.map",
6
- "runtime-main.js": "./static/js/runtime-main.3ac94131.js",
7
- "runtime-main.js.map": "./static/js/runtime-main.3ac94131.js.map",
8
- "static/css/2.faf2f676.chunk.css": "./static/css/2.faf2f676.chunk.css",
9
- "static/js/2.29338295.chunk.js": "./static/js/2.29338295.chunk.js",
10
- "static/js/2.29338295.chunk.js.map": "./static/js/2.29338295.chunk.js.map",
3
+ "main.css": "./static/css/main.fb1757a1.css",
4
+ "main.js": "./static/js/main.dca2f512.js",
11
5
  "index.html": "./index.html",
12
- "static/css/2.faf2f676.chunk.css.map": "./static/css/2.faf2f676.chunk.css.map",
13
- "static/css/main.e2d673ee.chunk.css.map": "./static/css/main.e2d673ee.chunk.css.map",
14
- "static/js/2.29338295.chunk.js.LICENSE.txt": "./static/js/2.29338295.chunk.js.LICENSE.txt"
6
+ "main.fb1757a1.css.map": "./static/css/main.fb1757a1.css.map",
7
+ "main.dca2f512.js.map": "./static/js/main.dca2f512.js.map"
15
8
  },
16
9
  "entrypoints": [
17
- "static/js/runtime-main.3ac94131.js",
18
- "static/css/2.faf2f676.chunk.css",
19
- "static/js/2.29338295.chunk.js",
20
- "static/css/main.e2d673ee.chunk.css",
21
- "static/js/main.6af5c534.chunk.js"
10
+ "static/css/main.fb1757a1.css",
11
+ "static/js/main.dca2f512.js"
22
12
  ]
23
13
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="./manifest.json"/><script type="text/javascript" src="./../../lib/js/socket.io.js"></script><title>Modbus</title><link href="./static/css/2.faf2f676.chunk.css" rel="stylesheet"><link href="./static/css/main.e2d673ee.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,l=r[0],a=r[1],f=r[2],c=0,s=[];c<l.length;c++)i=l[c],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="./";var l=this["webpackJsonpmodebus-admin"]=this["webpackJsonpmodebus-admin"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var p=a;t()}([])</script><script src="./static/js/2.29338295.chunk.js"></script><script src="./static/js/main.6af5c534.chunk.js"></script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="./manifest.json"/><script type="text/javascript" src="./../../lib/js/socket.io.js"></script><title>Modbus</title><script defer="defer" src="./static/js/main.dca2f512.js"></script><link href="./static/css/main.fb1757a1.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -0,0 +1,2 @@
1
+ ::-webkit-scrollbar{width:6px}.logo-background-colored,.logo-background-light{background:#fff}.logo-background-blue,.logo-background-dark{background:#000}.logo-div{left:50%;overflow:hidden;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:2}.logo-border,.logo-div{border-radius:50%;position:absolute}.logo-border{border-color:#39c #164477 #164477;border-style:solid;box-sizing:border-box;height:100%;width:100%}.logo-top{height:16%;position:absolute;top:0;width:4.5%;z-index:2}.logo-i{height:60%;top:20%}.logo-i,.logo-i-top{background:#39c;left:42%;position:absolute;width:14.5%}.logo-i-top{border-radius:100%;height:4%}.logo-back{height:100%;overflow:hidden;width:100%;z-index:0}@-webkit-keyframes logo-grow{0%{height:230px;opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);width:230px}99%{height:230px;opacity:0;-webkit-transform:translate(-50%,-50%) scale(10);transform:translate(-50%,-50%) scale(10);width:230px}to{height:0;opacity:0;width:0}}@keyframes logo-grow{0%{height:230px;opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);width:230px}99%{height:230px;opacity:0;-webkit-transform:translate(-50%,-50%) scale(10);transform:translate(-50%,-50%) scale(10);width:230px}to{height:0;opacity:0;width:0}}@-webkit-keyframes logo-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes logo-spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes logo-color-inside-light{0%{background:#fefefe}to{background:#39c}}@keyframes logo-color-inside-light{0%{background:#fefefe}to{background:#39c}}@-webkit-keyframes logo-color-inside-dark{0%{background:#030303}to{background:#39c}}@keyframes logo-color-inside-dark{0%{background:#030303}to{background:#39c}}@-webkit-keyframes logo-color-inside-colored{0%{background:#fefefe}to{background:#39c}}@keyframes logo-color-inside-colored{0%{background:#fefefe}to{background:#39c}}@-webkit-keyframes logo-color-inside-blue{0%{background:#030303}to{background:#39c}}@keyframes logo-color-inside-blue{0%{background:#030303}to{background:#39c}}@-webkit-keyframes logo-color-outside-light{0%{border-color:#fefefe}to{border-color:#39c #164477 #164477}}@keyframes logo-color-outside-light{0%{border-color:#fefefe}to{border-color:#39c #164477 #164477}}@-webkit-keyframes logo-color-outside-dark{0%{border-color:#040404}to{border-color:#39c #164477 #164477}}@keyframes logo-color-outside-dark{0%{border-color:#040404}to{border-color:#39c #164477 #164477}}@-webkit-keyframes logo-color-outside-colored{0%{border-color:#fefefe}to{border-color:#39c #164477 #164477}}@keyframes logo-color-outside-colored{0%{border-color:#fefefe}to{border-color:#39c #164477 #164477}}@-webkit-keyframes logo-color-outside-blue{0%{border-color:#040404}to{border-color:#39c #164477 #164477}}@keyframes logo-color-outside-blue{0%{border-color:#040404}to{border-color:#39c #164477 #164477}}.logo-animate-wait{-webkit-animation:logo-color-outside 1.5s,logo-spin 1.5s linear infinite;animation:logo-color-outside 1.5s,logo-spin 1.5s linear infinite}.logo-animate-grow-light{background:#ddd}.logo-animate-grow-dark{background:#1d1d1d}.logo-animate-grow-colored{background:#ddd}.logo-animate-grow-blue{background:#1d1d1d}.logo-animate-grow{-webkit-animation:logo-grow 1s ease 1 forwards;animation:logo-grow 1s ease 1 forwards;border-radius:50%;display:inline-block;height:245px;left:50%;position:absolute;text-align:center;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:245px;z-index:1}.logo-animate-color-inside-light{-webkit-animation:logo-color-inside-light 2.5s;animation:logo-color-inside-light 2.5s}.logo-animate-color-inside-dark{-webkit-animation:logo-color-inside-dark 2.5s;animation:logo-color-inside-dark 2.5s}.logo-animate-color-inside-colored{-webkit-animation:logo-color-inside-colored 2.5s;animation:logo-color-inside-colored 2.5s}.logo-animate-color-inside-blue{-webkit-animation:logo-color-inside-blue 2.5s;animation:logo-color-inside-blue 2.5s}.logo-animate-color-outside-light{-webkit-animation:logo-color-outside-light 1.5s;animation:logo-color-outside-light 1.5s}.logo-animate-color-outside-dark{-webkit-animation:logo-color-outside-dark 1.5s;animation:logo-color-outside-dark 1.5s}.logo-animate-color-outside-colored{-webkit-animation:logo-color-outside-colored 1.5s;animation:logo-color-outside-colored 1.5s}.logo-animate-color-outside-blue{-webkit-animation:logo-color-outside-blue 1.5s;animation:logo-color-outside-blue 1.5s}body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow:hidden;padding:0;width:100%}::-webkit-scrollbar-track{background-color:#ccc;border-radius:5px}::-webkit-scrollbar{background-color:#ccc;height:5px;width:5px}::-webkit-scrollbar-thumb{background-color:#575757;border-radius:5px}#root,.App{height:100%}@-webkit-keyframes glow{0%{background-color:initial}to{background-color:#58c458}}@keyframes glow{0%{background-color:initial}to{background-color:#58c458}}
2
+ /*# sourceMappingURL=main.fb1757a1.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/css/main.fb1757a1.css","mappings":"AAiBA,oBACE,SAEF,CCbA,gDACI,eACJ,CACA,4CACI,eACJ,CACA,UAGI,QAAS,CAIT,eAAgB,CALhB,OAAQ,CAGR,sCAAuC,CACvC,8BAA+B,CAG/B,SACJ,CACA,uBAHI,iBAAkB,CAPlB,iBAsBJ,CAZA,aAKI,iCAA2B,CAE3B,kBAAmB,CACnB,qBAAsB,CAEtB,WAAY,CADZ,UAGJ,CACA,UAGI,UAAW,CAFX,iBAAkB,CAGlB,KAAM,CAFN,UAAW,CAGX,SACJ,CACA,QAGI,UAAW,CACX,OAGJ,CACA,oBAFI,eAAmB,CADnB,QAAS,CAJT,iBAAkB,CAClB,WAaJ,CAPA,YAMI,kBAAmB,CAHnB,SAIJ,CACA,WAEI,WAAY,CAEZ,eAAgB,CAHhB,UAAW,CAEX,SAEJ,CACA,6BACI,GAEI,YAAa,CAEb,SAAS,CADT,+CAAwC,CAAxC,uCAAwC,CAFxC,WAIJ,CACA,IAEI,YAAa,CAEb,SAAU,CADV,gDAAyC,CAAzC,wCAAyC,CAFzC,WAIJ,CACA,GAEI,QAAS,CACT,SAAU,CAFV,OAGJ,CACJ,CAlBA,qBACI,GAEI,YAAa,CAEb,SAAS,CADT,+CAAwC,CAAxC,uCAAwC,CAFxC,WAIJ,CACA,IAEI,YAAa,CAEb,SAAU,CADV,gDAAyC,CAAzC,wCAAyC,CAFzC,WAIJ,CACA,GAEI,QAAS,CACT,SAAU,CAFV,OAGJ,CACJ,CACA,6BAAuB,GAAO,+BAAiC,CAAE,uBAA2B,CAAE,CAA9F,qBAAuB,GAAO,+BAAiC,CAAE,uBAA2B,CAAE,CAC9F,2CACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CAPA,mCACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CACA,0CACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CAPA,kCACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CACA,6CACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CAPA,qCACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CACA,0CACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CAPA,kCACI,GACI,kBACJ,CACA,GACI,eACJ,CACJ,CAEA,4CACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CAVA,oCACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CACA,2CACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CAVA,mCACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CACA,8CACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CAVA,sCACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CACA,2CACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CAVA,mCACI,GACI,oBACJ,CACA,GAII,iCACJ,CACJ,CAEA,mBACI,wEAAkE,CAAlE,gEACJ,CAEA,yBACI,eACJ,CACA,wBACI,kBACJ,CACA,2BACI,eACJ,CACA,wBACI,kBACJ,CAEA,mBAaI,8CAAuC,CAAvC,sCAAuC,CAFvC,iBAAkB,CAVlB,oBAAqB,CASrB,YAAa,CALb,QAAS,CAOT,iBAAkB,CAVlB,iBAAkB,CAElB,OAAQ,CAGR,sCAAuC,CACvC,8BAA+B,CAC/B,WAAY,CANZ,SAWJ,CAEA,iCACI,8CAAuC,CAAvC,sCACJ,CACA,gCACI,6CAAsC,CAAtC,qCACJ,CACA,mCACI,gDAAyC,CAAzC,wCACJ,CACA,gCACI,6CAAsC,CAAtC,qCACJ,CAEA,kCACI,+CAAwC,CAAxC,uCACJ,CACA,iCACI,8CAAuC,CAAvC,sCACJ,CACA,oCACI,iDAA0C,CAA1C,yCACJ,CACA,iCACI,8CAAuC,CAAvC,sCACJ,CClNA,UAHI,WAYJ,CATA,KAII,kCAAmC,CACnC,iCAAkC,CAFlC,mIAA8J,CAF9J,QAAS,CAOT,eAAgB,CANhB,SAAU,CAIV,UAGJ,CAGA,0BACI,qBAAsB,CACtB,iBACJ,CAEA,oBAGI,qBAAsB,CADtB,UAAW,CADX,SAGJ,CAEA,0BACI,wBAAyB,CACzB,iBACJ,CAMA,WACI,WACJ,CAEA,wBACI,GACI,wBACJ,CACA,GACI,wBACJ,CACJ,CAPA,gBACI,GACI,wBACJ,CACA,GACI,wBACJ,CACJ","sources":["index.css","../node_modules/@iobroker/adapter-react-v5/Components/loader.css","../node_modules/@iobroker/adapter-react-v5/index.css"],"sourcesContent":["html {\n height: 100%;\n}\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n/* scrollbar */\n*::-webkit-scrollbar-track {\n background-color: #ccc;\n}\n*::-webkit-scrollbar {\n width: 6px;\n background-color: #ccc;\n}\n*::-webkit-scrollbar-thumb {\n background-color: #575757;\n}\n\n\n#root {\n height: 100%;\n}\n.App {\n height: 100%;\n}","/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\n.logo-background-light, .logo-background-colored {\n background: white;\n}\n.logo-background-dark, .logo-background-blue {\n background: black;\n}\n.logo-div {\n position: absolute;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n overflow: hidden;\n border-radius: 50%;\n z-index: 2;\n}\n.logo-border {\n /*border-color: #164477;*/\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n border-radius: 50%;\n border-style: solid;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n position: absolute;\n}\n.logo-top {\n position: absolute;\n width: 4.5%;\n height: 16%;\n top: 0;\n z-index: 2;\n}\n.logo-i {\n position: absolute;\n width: 14.5%;\n height: 60%;\n top: 20%;\n left: 42%;\n background: #3399CC;\n}\n.logo-i-top {\n position: absolute;\n width: 14.5%;\n height: 4%;\n left: 42%;\n background: #3399CC;\n border-radius: 100%;\n}\n.logo-back {\n width: 100%;\n height: 100%;\n z-index: 0;\n overflow: hidden;\n}\n@keyframes logo-grow {\n 0% {\n width: 230px;\n height: 230px;\n transform: translate(-50%,-50%) scale(1);\n opacity: 1\n }\n 99% {\n width: 230px;\n height: 230px;\n transform: translate(-50%,-50%) scale(10);\n opacity: 0;\n }\n 100% {\n width: 0;\n height: 0;\n opacity: 0;\n }\n}\n@keyframes logo-spin { 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }\n@keyframes logo-color-inside-light {\n 0% {\n background: #FEFEFE;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-dark {\n 0% {\n background: #030303;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-colored {\n 0% {\n background: #FEFEFE;\n }\n 100% {\n background: #3399CC;\n }\n}\n@keyframes logo-color-inside-blue {\n 0% {\n background: #030303;\n }\n 100% {\n background: #3399CC;\n }\n}\n\n@keyframes logo-color-outside-light {\n 0% {\n border-color: #FEFEFE;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-dark {\n 0% {\n border-color: #040404;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-colored {\n 0% {\n border-color: #FEFEFE;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n@keyframes logo-color-outside-blue {\n 0% {\n border-color: #040404;\n }\n 100% {\n border-top-color: #3399CC;\n border-left-color: #164477;\n border-bottom-color: #164477;\n border-right-color: #164477;\n }\n}\n\n.logo-animate-wait {\n animation: logo-color-outside 1.5s, logo-spin 1.5s linear infinite;\n}\n\n.logo-animate-grow-light {\n background: #DDD;\n}\n.logo-animate-grow-dark {\n background: #1d1d1d;\n}\n.logo-animate-grow-colored {\n background: #DDD;\n}\n.logo-animate-grow-blue {\n background: #1d1d1d;\n}\n\n.logo-animate-grow {\n display: inline-block;\n text-align: center;\n z-index: 1;\n top: 50%;\n left: 50%;\n -ms-transform: translateX(-50%) translateY(-50%);\n -webkit-transform: translate(-50%,-50%);\n transform: translate(-50%,-50%);\n width: 245px;\n height: 245px;\n border-radius: 50%;\n position: absolute;\n animation: logo-grow 1s 1 ease forwards;\n}\n\n.logo-animate-color-inside-light {\n animation: logo-color-inside-light 2.5s;\n}\n.logo-animate-color-inside-dark {\n animation: logo-color-inside-dark 2.5s;\n}\n.logo-animate-color-inside-colored {\n animation: logo-color-inside-colored 2.5s;\n}\n.logo-animate-color-inside-blue {\n animation: logo-color-inside-blue 2.5s;\n}\n\n.logo-animate-color-outside-light {\n animation: logo-color-outside-light 1.5s;\n}\n.logo-animate-color-outside-dark {\n animation: logo-color-outside-dark 1.5s;\n}\n.logo-animate-color-outside-colored {\n animation: logo-color-outside-colored 1.5s;\n}\n.logo-animate-color-outside-blue {\n animation: logo-color-outside-blue 1.5s;\n}","/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\n\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}"],"names":[],"sourceRoot":""}