frugal-iot-server 0.3.8 → 0.3.9
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.
- package/INSTALLATION.md +142 -43
- package/config.d/email.yaml +23 -0
- package/config.d/schema/devices.yaml +0 -2
- package/config.d/schema/modules.yaml +329 -2
- package/config.d/schema/topics.yaml +117 -46
- package/frugal-iot-server.js +142 -10
- package/lib/mailer.js +43 -0
- package/lib/resetcode.js +103 -0
- package/package.json +7 -4
- package/public/index.html +8 -0
- package/public/service-worker.js +26 -27
- package/scripts/addbridge-pi.zsh +36 -6
- package/scripts/addbridge-prod.zsh +9 -3
- package/scripts/clearretained.js +185 -0
- package/scripts/init.zsh +1 -1
- package/scripts/clearretained.zsh +0 -153
|
@@ -41,7 +41,7 @@ altitude:
|
|
|
41
41
|
min: -500
|
|
42
42
|
max: 9000
|
|
43
43
|
width: 6
|
|
44
|
-
color:
|
|
44
|
+
color: "#000000"
|
|
45
45
|
log: true
|
|
46
46
|
duplicates:
|
|
47
47
|
significantdate: 900000
|
|
@@ -67,7 +67,7 @@ aqi:
|
|
|
67
67
|
display: bar
|
|
68
68
|
min: 0
|
|
69
69
|
max: 5
|
|
70
|
-
color:
|
|
70
|
+
color: "#800080"
|
|
71
71
|
rw: r
|
|
72
72
|
graphable: true
|
|
73
73
|
log: true
|
|
@@ -81,7 +81,7 @@ aqi500:
|
|
|
81
81
|
display: bar
|
|
82
82
|
min: 0
|
|
83
83
|
max: 500
|
|
84
|
-
color:
|
|
84
|
+
color: "#a52a2a"
|
|
85
85
|
rw: r
|
|
86
86
|
graphable: true
|
|
87
87
|
log: true
|
|
@@ -95,7 +95,7 @@ battery:
|
|
|
95
95
|
display: text
|
|
96
96
|
min: 3000
|
|
97
97
|
max: 5000
|
|
98
|
-
color:
|
|
98
|
+
color: "#008000"
|
|
99
99
|
rw: r
|
|
100
100
|
graphable: true
|
|
101
101
|
log: true
|
|
@@ -120,7 +120,7 @@ bus:
|
|
|
120
120
|
min: 0
|
|
121
121
|
max: 32
|
|
122
122
|
width: 5
|
|
123
|
-
color:
|
|
123
|
+
color: "#008000"
|
|
124
124
|
rw: r
|
|
125
125
|
log: true
|
|
126
126
|
units: V
|
|
@@ -134,7 +134,7 @@ button:
|
|
|
134
134
|
type: bool
|
|
135
135
|
log: true
|
|
136
136
|
display: toggle
|
|
137
|
-
color:
|
|
137
|
+
color: "#000000"
|
|
138
138
|
rw: r
|
|
139
139
|
# A press changes the value, so it is still recorded - this only drops the repeats in between
|
|
140
140
|
duplicates:
|
|
@@ -155,7 +155,7 @@ controlfloat:
|
|
|
155
155
|
type: float
|
|
156
156
|
log: false
|
|
157
157
|
display: text
|
|
158
|
-
color:
|
|
158
|
+
color: "#000000"
|
|
159
159
|
wireable: true
|
|
160
160
|
rw: w
|
|
161
161
|
retain: true
|
|
@@ -166,7 +166,7 @@ controlint:
|
|
|
166
166
|
type: int
|
|
167
167
|
log: false
|
|
168
168
|
display: text
|
|
169
|
-
color:
|
|
169
|
+
color: "#000000"
|
|
170
170
|
wireable: true
|
|
171
171
|
rw: w
|
|
172
172
|
retain: true
|
|
@@ -177,7 +177,7 @@ controltext:
|
|
|
177
177
|
type: text
|
|
178
178
|
log: false
|
|
179
179
|
display: text
|
|
180
|
-
color:
|
|
180
|
+
color: "#000000"
|
|
181
181
|
wireable: true
|
|
182
182
|
rw: w
|
|
183
183
|
retain: true
|
|
@@ -186,7 +186,7 @@ controlintoggle:
|
|
|
186
186
|
type: bool
|
|
187
187
|
log: false
|
|
188
188
|
display: toggle
|
|
189
|
-
color:
|
|
189
|
+
color: "#000000"
|
|
190
190
|
rw: w
|
|
191
191
|
wireable: false
|
|
192
192
|
controlouttoggle:
|
|
@@ -194,7 +194,7 @@ controlouttoggle:
|
|
|
194
194
|
type: bool
|
|
195
195
|
log: true
|
|
196
196
|
display: toggle
|
|
197
|
-
color:
|
|
197
|
+
color: "#000000"
|
|
198
198
|
rw: r
|
|
199
199
|
wireable: true
|
|
200
200
|
# Read-only bool, so logged by default - match the "out" and "on" topics it stands in for
|
|
@@ -209,7 +209,7 @@ course:
|
|
|
209
209
|
min: 0
|
|
210
210
|
max: 360
|
|
211
211
|
width: 5
|
|
212
|
-
color:
|
|
212
|
+
color: "#000000"
|
|
213
213
|
log: true
|
|
214
214
|
duplicates:
|
|
215
215
|
significantdate: 900000
|
|
@@ -225,7 +225,7 @@ current:
|
|
|
225
225
|
min: -3200
|
|
226
226
|
max: 3200
|
|
227
227
|
width: 7
|
|
228
|
-
color:
|
|
228
|
+
color: "#ff0000"
|
|
229
229
|
rw: r
|
|
230
230
|
log: true
|
|
231
231
|
units: mA
|
|
@@ -250,7 +250,7 @@ do:
|
|
|
250
250
|
min: 0
|
|
251
251
|
max: 20
|
|
252
252
|
width: 5
|
|
253
|
-
color:
|
|
253
|
+
color: "#0000ff"
|
|
254
254
|
rw: r
|
|
255
255
|
log: true
|
|
256
256
|
units: mg/L
|
|
@@ -265,7 +265,7 @@ eco2:
|
|
|
265
265
|
display: bar
|
|
266
266
|
min: 300
|
|
267
267
|
max: 900
|
|
268
|
-
color:
|
|
268
|
+
color: "#a52a2a"
|
|
269
269
|
log: true
|
|
270
270
|
units: ppm
|
|
271
271
|
duplicates:
|
|
@@ -281,7 +281,7 @@ gas:
|
|
|
281
281
|
min: 0
|
|
282
282
|
max: 500
|
|
283
283
|
width: 5
|
|
284
|
-
color:
|
|
284
|
+
color: "#008000"
|
|
285
285
|
rw: r
|
|
286
286
|
log: true
|
|
287
287
|
units: kOhm
|
|
@@ -297,7 +297,7 @@ hdop:
|
|
|
297
297
|
min: 0
|
|
298
298
|
max: 50
|
|
299
299
|
width: 5
|
|
300
|
-
color:
|
|
300
|
+
color: "#000000"
|
|
301
301
|
log: false
|
|
302
302
|
duplicates:
|
|
303
303
|
significantdate: 900000
|
|
@@ -312,7 +312,7 @@ humidity:
|
|
|
312
312
|
min: 0
|
|
313
313
|
max: 100
|
|
314
314
|
width: 5
|
|
315
|
-
color:
|
|
315
|
+
color: "#0000ff"
|
|
316
316
|
log: true
|
|
317
317
|
duplicates:
|
|
318
318
|
significantdate: 900000
|
|
@@ -341,7 +341,7 @@ language_code:
|
|
|
341
341
|
type: text
|
|
342
342
|
log: false
|
|
343
343
|
display: text
|
|
344
|
-
color:
|
|
344
|
+
color: "#000000"
|
|
345
345
|
rw: r
|
|
346
346
|
lastseen:
|
|
347
347
|
leaf: lastseen
|
|
@@ -359,7 +359,7 @@ latitude:
|
|
|
359
359
|
min: -90
|
|
360
360
|
max: +90
|
|
361
361
|
width: 9
|
|
362
|
-
color:
|
|
362
|
+
color: "#000000"
|
|
363
363
|
log: true
|
|
364
364
|
duplicates:
|
|
365
365
|
significantdate: 900000
|
|
@@ -375,7 +375,7 @@ load:
|
|
|
375
375
|
min: 0
|
|
376
376
|
max: 32
|
|
377
377
|
width: 5
|
|
378
|
-
color:
|
|
378
|
+
color: "#008000"
|
|
379
379
|
rw: r
|
|
380
380
|
log: true
|
|
381
381
|
units: V
|
|
@@ -391,7 +391,7 @@ loadcell:
|
|
|
391
391
|
min: 0
|
|
392
392
|
max: 65000
|
|
393
393
|
width: 7
|
|
394
|
-
color:
|
|
394
|
+
color: "#b8860b"
|
|
395
395
|
log: true
|
|
396
396
|
duplicates:
|
|
397
397
|
significantdate: 900000
|
|
@@ -407,7 +407,7 @@ longitude:
|
|
|
407
407
|
min: -180
|
|
408
408
|
max: +180
|
|
409
409
|
width: 10
|
|
410
|
-
color:
|
|
410
|
+
color: "#000000"
|
|
411
411
|
log: true
|
|
412
412
|
duplicates:
|
|
413
413
|
significantdate: 900000
|
|
@@ -423,7 +423,7 @@ lux:
|
|
|
423
423
|
min: 0
|
|
424
424
|
max: 65000
|
|
425
425
|
width: 5
|
|
426
|
-
color:
|
|
426
|
+
color: "#b8860b"
|
|
427
427
|
log: true
|
|
428
428
|
rw: r
|
|
429
429
|
duplicates:
|
|
@@ -436,7 +436,7 @@ manual:
|
|
|
436
436
|
name: Manual
|
|
437
437
|
type: bool
|
|
438
438
|
display: toggle
|
|
439
|
-
color:
|
|
439
|
+
color: "#000000"
|
|
440
440
|
rw: r
|
|
441
441
|
log: true
|
|
442
442
|
graphable: true
|
|
@@ -452,7 +452,7 @@ message:
|
|
|
452
452
|
type: text
|
|
453
453
|
log: false
|
|
454
454
|
display: text
|
|
455
|
-
color:
|
|
455
|
+
color: "#000000"
|
|
456
456
|
wireable: true
|
|
457
457
|
rw: w
|
|
458
458
|
retain: true
|
|
@@ -464,7 +464,7 @@ mm:
|
|
|
464
464
|
min: 0
|
|
465
465
|
max: 500
|
|
466
466
|
width: 5
|
|
467
|
-
color:
|
|
467
|
+
color: "#0000ff"
|
|
468
468
|
rw: r
|
|
469
469
|
log: true
|
|
470
470
|
duplicates:
|
|
@@ -486,7 +486,7 @@ on:
|
|
|
486
486
|
name: On
|
|
487
487
|
type: bool
|
|
488
488
|
display: toggle
|
|
489
|
-
color:
|
|
489
|
+
color: "#000000"
|
|
490
490
|
rw: w
|
|
491
491
|
log: true
|
|
492
492
|
duplicates:
|
|
@@ -498,7 +498,7 @@ out:
|
|
|
498
498
|
name: Out
|
|
499
499
|
type: bool
|
|
500
500
|
display: toggle
|
|
501
|
-
color:
|
|
501
|
+
color: "#000000"
|
|
502
502
|
rw: r
|
|
503
503
|
log: true
|
|
504
504
|
wireable: true
|
|
@@ -506,13 +506,33 @@ out:
|
|
|
506
506
|
duplicates:
|
|
507
507
|
significantdate: 900000
|
|
508
508
|
significantvalue: 1
|
|
509
|
+
percent:
|
|
510
|
+
# A 0-100% figure that is worth recording and graphing - state of charge, battery health. Unlike
|
|
511
|
+
# controlfloat it is read-only and logged, so it needs its own duplicate rule; [name] and the
|
|
512
|
+
# duplicate thresholds should be overridden per module.
|
|
513
|
+
leaf: percent
|
|
514
|
+
name: Percent
|
|
515
|
+
type: float
|
|
516
|
+
display: bar
|
|
517
|
+
min: 0
|
|
518
|
+
max: 100
|
|
519
|
+
width: 3
|
|
520
|
+
color: "#008000"
|
|
521
|
+
rw: r
|
|
522
|
+
wireable: false
|
|
523
|
+
log: true
|
|
524
|
+
duplicates:
|
|
525
|
+
significantdate: 900000
|
|
526
|
+
significantvalue: 1
|
|
527
|
+
graphable: true
|
|
528
|
+
units: "%"
|
|
509
529
|
position:
|
|
510
530
|
leaf: position
|
|
511
531
|
name: Position
|
|
512
532
|
type: text
|
|
513
533
|
log: false
|
|
514
534
|
display: text
|
|
515
|
-
color:
|
|
535
|
+
color: "#000000"
|
|
516
536
|
rw: r
|
|
517
537
|
power:
|
|
518
538
|
leaf: power
|
|
@@ -522,7 +542,7 @@ power:
|
|
|
522
542
|
min: 0
|
|
523
543
|
max: 100000
|
|
524
544
|
width: 8
|
|
525
|
-
color:
|
|
545
|
+
color: "#ffa500"
|
|
526
546
|
rw: r
|
|
527
547
|
log: true
|
|
528
548
|
units: mW
|
|
@@ -539,7 +559,7 @@ pressure:
|
|
|
539
559
|
max: 1100
|
|
540
560
|
width: 6
|
|
541
561
|
units: hPa
|
|
542
|
-
color:
|
|
562
|
+
color: "#0000ff"
|
|
543
563
|
rw: r
|
|
544
564
|
log: true
|
|
545
565
|
duplicates:
|
|
@@ -554,7 +574,7 @@ rain:
|
|
|
554
574
|
min: 0
|
|
555
575
|
max: 500
|
|
556
576
|
width: 5
|
|
557
|
-
color:
|
|
577
|
+
color: "#0000ff"
|
|
558
578
|
rw: r
|
|
559
579
|
log: true
|
|
560
580
|
duplicates:
|
|
@@ -570,7 +590,7 @@ satellites:
|
|
|
570
590
|
min: 0
|
|
571
591
|
max: 32
|
|
572
592
|
width: 2
|
|
573
|
-
color:
|
|
593
|
+
color: "#000000"
|
|
574
594
|
log: false
|
|
575
595
|
duplicates:
|
|
576
596
|
significantdate: 900000
|
|
@@ -585,7 +605,7 @@ select:
|
|
|
585
605
|
log: false
|
|
586
606
|
min: 0
|
|
587
607
|
display: text
|
|
588
|
-
color:
|
|
608
|
+
color: "#000000"
|
|
589
609
|
wireable: false
|
|
590
610
|
rw: w
|
|
591
611
|
retain: true
|
|
@@ -597,7 +617,7 @@ shunt:
|
|
|
597
617
|
min: -320
|
|
598
618
|
max: 320
|
|
599
619
|
width: 6
|
|
600
|
-
color:
|
|
620
|
+
color: "#0000ff"
|
|
601
621
|
rw: r
|
|
602
622
|
log: true
|
|
603
623
|
units: mV
|
|
@@ -613,7 +633,7 @@ speed:
|
|
|
613
633
|
min: 0
|
|
614
634
|
max: 999
|
|
615
635
|
width: 5
|
|
616
|
-
color:
|
|
636
|
+
color: "#000000"
|
|
617
637
|
log: true
|
|
618
638
|
duplicates:
|
|
619
639
|
significantdate: 900000
|
|
@@ -628,7 +648,7 @@ soil:
|
|
|
628
648
|
display: bar
|
|
629
649
|
min: 0
|
|
630
650
|
max: 100
|
|
631
|
-
color:
|
|
651
|
+
color: "#a52a2a"
|
|
632
652
|
rw: r
|
|
633
653
|
log: true
|
|
634
654
|
duplicates:
|
|
@@ -637,6 +657,22 @@ soil:
|
|
|
637
657
|
graphable: true
|
|
638
658
|
calibrate: true
|
|
639
659
|
units: "%"
|
|
660
|
+
tank:
|
|
661
|
+
leaf: tank
|
|
662
|
+
name: Water Tank
|
|
663
|
+
type: float
|
|
664
|
+
display: bar
|
|
665
|
+
min: 0
|
|
666
|
+
max: 100
|
|
667
|
+
width: 5
|
|
668
|
+
color: "#0000ff"
|
|
669
|
+
rw: r
|
|
670
|
+
log: true
|
|
671
|
+
duplicates:
|
|
672
|
+
significantdate: 900000
|
|
673
|
+
significantvalue: 1
|
|
674
|
+
graphable: true
|
|
675
|
+
units: "%"
|
|
640
676
|
temperature:
|
|
641
677
|
leaf: temperature
|
|
642
678
|
name: Temperature
|
|
@@ -646,7 +682,7 @@ temperature:
|
|
|
646
682
|
min: 0
|
|
647
683
|
max: 50
|
|
648
684
|
width: 4
|
|
649
|
-
color:
|
|
685
|
+
color: "#ff0000"
|
|
650
686
|
wireable: false
|
|
651
687
|
log: true
|
|
652
688
|
units: Cel
|
|
@@ -663,7 +699,7 @@ timeoff:
|
|
|
663
699
|
type: float
|
|
664
700
|
log: false
|
|
665
701
|
display: text
|
|
666
|
-
color:
|
|
702
|
+
color: "#000000"
|
|
667
703
|
rw: w
|
|
668
704
|
wireable: true
|
|
669
705
|
units: s
|
|
@@ -676,7 +712,7 @@ timeon:
|
|
|
676
712
|
type: float
|
|
677
713
|
log: false
|
|
678
714
|
display: text
|
|
679
|
-
color:
|
|
715
|
+
color: "#000000"
|
|
680
716
|
rw: w
|
|
681
717
|
wireable: true
|
|
682
718
|
units: s
|
|
@@ -687,7 +723,7 @@ tvoc:
|
|
|
687
723
|
display: bar
|
|
688
724
|
min: 0
|
|
689
725
|
max: 99
|
|
690
|
-
color:
|
|
726
|
+
color: "#008000"
|
|
691
727
|
rw: r
|
|
692
728
|
log: true
|
|
693
729
|
units: ppb
|
|
@@ -703,7 +739,7 @@ ultrasonic:
|
|
|
703
739
|
min: 0
|
|
704
740
|
max: 7500
|
|
705
741
|
width: 4
|
|
706
|
-
color:
|
|
742
|
+
color: "#0000ff"
|
|
707
743
|
rw: r
|
|
708
744
|
log: true
|
|
709
745
|
units: mm
|
|
@@ -718,8 +754,43 @@ utc_time:
|
|
|
718
754
|
type: text
|
|
719
755
|
log: false
|
|
720
756
|
display: text
|
|
721
|
-
color:
|
|
757
|
+
color: "#000000"
|
|
758
|
+
rw: r
|
|
759
|
+
voltage:
|
|
760
|
+
# A DC voltage read through a resistor divider - see Sensor_Voltage in the library. Millivolts,
|
|
761
|
+
# like `battery`, but without that topic's single-lithium-cell range or its special-casing in
|
|
762
|
+
# the UX. [name, min, max] should be overridden per module.
|
|
763
|
+
leaf: voltage
|
|
764
|
+
name: Voltage
|
|
765
|
+
type: int
|
|
766
|
+
display: text
|
|
767
|
+
min: 0
|
|
768
|
+
max: 30000
|
|
769
|
+
color: "#800080"
|
|
722
770
|
rw: r
|
|
771
|
+
graphable: true
|
|
772
|
+
log: true
|
|
773
|
+
units: mV
|
|
774
|
+
duplicates:
|
|
775
|
+
significantdate: 900000
|
|
776
|
+
significantvalue: 100
|
|
777
|
+
volts:
|
|
778
|
+
leaf: volts
|
|
779
|
+
name: Volts
|
|
780
|
+
type: float
|
|
781
|
+
display: slider
|
|
782
|
+
rw: w
|
|
783
|
+
min: 0
|
|
784
|
+
max: 3.3
|
|
785
|
+
width: 4
|
|
786
|
+
color: "#800080"
|
|
787
|
+
units: V
|
|
788
|
+
wireable: true
|
|
789
|
+
log: true
|
|
790
|
+
duplicates:
|
|
791
|
+
significantdate: 900000
|
|
792
|
+
significantvalue: 0.05
|
|
793
|
+
graphable: true
|
|
723
794
|
wifibars:
|
|
724
795
|
leaf: wifibars
|
|
725
796
|
name: WiFi
|
|
@@ -728,7 +799,7 @@ wifibars:
|
|
|
728
799
|
display: text
|
|
729
800
|
min: 0
|
|
730
801
|
max: 4
|
|
731
|
-
color:
|
|
802
|
+
color: "#0000ff"
|
|
732
803
|
rw: r
|
|
733
804
|
# Logged, because an int that is read-only is logged unless told otherwise. Only 5 values, so
|
|
734
805
|
# any change is worth recording and nothing else is
|
|
@@ -741,5 +812,5 @@ wifissid:
|
|
|
741
812
|
type: text
|
|
742
813
|
log: false
|
|
743
814
|
display: text
|
|
744
|
-
color:
|
|
815
|
+
color: "#0000ff"
|
|
745
816
|
rw: r
|