homebridge-easy-mqtt 1.4.0-beta.3 → 1.4.0-beta.4

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/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  All notable changes to homebridge-dummy will be documented in this file.
4
4
 
5
- ## 1.4.0-beta.3 (2025-09-18)
5
+ ## 1.4.0-beta.4 (2025-09-18)
6
6
 
7
7
  ### Added
8
8
  - Support for HeaterCooler
@@ -11,6 +11,7 @@ All notable changes to homebridge-dummy will be documented in this file.
11
11
  ### Changed
12
12
  - Optimized MQTT connections by sharing across multiple accessories when possible
13
13
  - Previously, every accessory had its own connection
14
+ - Better field validation in config UI (Thank you, [@justjam2013](https://github.com/sponsors/justjam2013) for teaching me this!)
14
15
 
15
16
  ### Fixed
16
17
  - Config UI rendering issue when migrating deprecated fields
package/README.md CHANGED
@@ -163,14 +163,14 @@ As with topics, you will also need to populate the appropriate values based on t
163
163
  - `valueContactDetected*` - Accessory has detected contact
164
164
 
165
165
  ### HumiditySensor
166
- - `topicGetCurrentRelativeHumidity` - The current relatively humidity
166
+ - `topicGetCurrentRelativeHumidity*` - The current relatively humidity
167
167
 
168
168
  #### LeakSensor
169
169
  - `topicGetLeakDetected*` - Whether or not sensor has detected a leak
170
170
  - `valueLeakDetected*` - Accessory has detected a leak
171
171
 
172
172
  #### LightSensor
173
- - `topicGetCurrentAmbientLightLevel` - The current light level in lux units
173
+ - `topicGetCurrentAmbientLightLevel*` - The current light level in lux units
174
174
 
175
175
  #### MotionSensor
176
176
  - `topicGetMotionDetected*` - Whether or not sensor has detected motion
@@ -190,6 +190,7 @@ As with topics, you will also need to populate the appropriate values based on t
190
190
 
191
191
  ### Climate Controllers
192
192
  - `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
193
+ - `topicGetCurrentTemperature*` - Get the current temperature
193
194
  - `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
194
195
  - `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
195
196
  - `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
@@ -223,7 +224,6 @@ As with topics, you will also need to populate the appropriate values based on t
223
224
  - `topicGetCurrentHeatingCoolingState*` - Get the current mode (i.e. cooling, heating, off)
224
225
  - `topicGetTargetHeatingCoolingState*` - Get the target mode (i.e. auto, cooling, heating, off)
225
226
  - `topicSetTargetHeatingCoolingState*` - Set the target mode (i.e. auto, cooling, heating, off)
226
- - `topicGetCurrentTemperature*` - Get the current temperature
227
227
  - `topicGetTargetTemperature*` - Get the target temperature
228
228
  - `topicSetTargetTemperature*` - Set the target temperature
229
229
  - `topicGetCurrentRelativeHumidity` - Get the current humidity
@@ -54,6 +54,7 @@
54
54
  "type": "string",
55
55
  "title": "${config.title.broker}",
56
56
  "placeholder": "mqtts://192.168.0.1:1883",
57
+ "pattern": "^(https?|mqtts?|wss?|ftp):\\/\\/([\\w.-]+)(:\\d+)?(\\/.*)?$",
57
58
  "required": true
58
59
  },
59
60
  "username": {
@@ -68,7 +69,8 @@
68
69
  "type": "string",
69
70
  "title": "${config.title.options}",
70
71
  "description": "${config.description.options}",
71
- "placeholder": "{ \"protocolVersion\": \"4\", \"clientId\": \"my-client-id\", \"rejectUnauthorized\": true }"
72
+ "placeholder": "{ \"protocolVersion\": \"4\", \"clientId\": \"my-client-id\", \"rejectUnauthorized\": true }",
73
+ "pattern": "^\\{\\s*(?:\"[^\"\\\\\\r\\n]*\"\\s*:\\s*(?:\"[^\"\\\\\\r\\n]*\"|[0-9.+-eE]+|true|false|null)\\s*,\\s*)*(?:\"[^\"\\\\\\r\\n]*\"\\s*:\\s*(?:\"[^\"\\\\\\r\\n]*\"|[0-9.+-eE]+|true|false|null)\\s*)?\\}$"
72
74
  }
73
75
  }
74
76
  },
@@ -483,7 +485,280 @@
483
485
  "type": "boolean",
484
486
  "title": "${config.title.disableLogging}"
485
487
  }
486
- }
488
+ },
489
+ "allOf": [
490
+ {
491
+ "if": {
492
+ "properties": {
493
+ "info": {
494
+ "properties": {
495
+ "type" : {
496
+ }
497
+ }
498
+ }
499
+ }
500
+ },
501
+ "then": {
502
+ "required": ["mqtt"]
503
+ }
504
+ },
505
+ {
506
+ "if": {
507
+ "properties": {
508
+ "info": {
509
+ "properties": {
510
+ "type" : {
511
+ "enum": ["Lightbulb", "Outlet", "Switch"]
512
+ }
513
+ }
514
+ }
515
+ }
516
+ },
517
+ "then": {
518
+ "required": ["topicGetOn", "topicSetOn", "valueOn", "valueOff"]
519
+ }
520
+ },
521
+ {
522
+ "if": {
523
+ "properties": {
524
+ "info": {
525
+ "properties": {
526
+ "type" : {
527
+ "const": "CarbonDioxideSensor"
528
+ }
529
+ }
530
+ }
531
+ }
532
+ },
533
+ "then": {
534
+ "required": ["topicGetCarbonDioxideDetected", "valueCarbonDioxideDetected"]
535
+ }
536
+ },
537
+ {
538
+ "if": {
539
+ "properties": {
540
+ "info": {
541
+ "properties": {
542
+ "type" : {
543
+ "const": "CarbonMonoxideSensor"
544
+ }
545
+ }
546
+ }
547
+ }
548
+ },
549
+ "then": {
550
+ "required": ["topicGetCarbonMonoxideDetected", "valueCarbonMonoxideDetected"]
551
+ }
552
+ },
553
+ {
554
+ "if": {
555
+ "properties": {
556
+ "info": {
557
+ "properties": {
558
+ "type" : {
559
+ "const": "ContactSensor"
560
+ }
561
+ }
562
+ }
563
+ }
564
+ },
565
+ "then": {
566
+ "required": ["topicGetContactSensorState", "valueContactDetected"]
567
+ }
568
+ },
569
+ {
570
+ "if": {
571
+ "properties": {
572
+ "info": {
573
+ "properties": {
574
+ "type" : {
575
+ "const": "HumiditySensor"
576
+ }
577
+ }
578
+ }
579
+ }
580
+ },
581
+ "then": {
582
+ "required": ["topicGetCurrentRelativeHumidity"]
583
+ }
584
+ },
585
+ {
586
+ "if": {
587
+ "properties": {
588
+ "info": {
589
+ "properties": {
590
+ "type" : {
591
+ "const": "LeakSensor"
592
+ }
593
+ }
594
+ }
595
+ }
596
+ },
597
+ "then": {
598
+ "required": ["topicGetLeakDetected", "valueLeakDetected"]
599
+ }
600
+ },
601
+ {
602
+ "if": {
603
+ "properties": {
604
+ "info": {
605
+ "properties": {
606
+ "type" : {
607
+ "const": "LightSensor"
608
+ }
609
+ }
610
+ }
611
+ }
612
+ },
613
+ "then": {
614
+ "required": ["topicGetCurrentAmbientLightLevel"]
615
+ }
616
+ },
617
+ {
618
+ "if": {
619
+ "properties": {
620
+ "info": {
621
+ "properties": {
622
+ "type" : {
623
+ "const": "MotionSensor"
624
+ }
625
+ }
626
+ }
627
+ }
628
+ },
629
+ "then": {
630
+ "required": ["topicGetMotionDetected", "valueMotionDetected"]
631
+ }
632
+ },
633
+ {
634
+ "if": {
635
+ "properties": {
636
+ "info": {
637
+ "properties": {
638
+ "type" : {
639
+ "const": "OccupancySensor"
640
+ }
641
+ }
642
+ }
643
+ }
644
+ },
645
+ "then": {
646
+ "required": ["topicGetOccupancyDetected", "valueOccupancyDetected"]
647
+ }
648
+ },
649
+ {
650
+ "if": {
651
+ "properties": {
652
+ "info": {
653
+ "properties": {
654
+ "type" : {
655
+ "const": "SmokeSensor"
656
+ }
657
+ }
658
+ }
659
+ }
660
+ },
661
+ "then": {
662
+ "required": ["topicGetSmokeDetected", "valueSmokeDetected"]
663
+ }
664
+ },
665
+ {
666
+ "if": {
667
+ "properties": {
668
+ "info": {
669
+ "properties": {
670
+ "type" : {
671
+ "const": "TemperatureSensor"
672
+ }
673
+ }
674
+ }
675
+ }
676
+ },
677
+ "then": {
678
+ "required": ["topicGetCurrentTemperature"]
679
+ }
680
+ },
681
+ {
682
+ "if": {
683
+ "properties": {
684
+ "info": {
685
+ "properties": {
686
+ "type" : {
687
+ "const": "HeaterCooler"
688
+ }
689
+ }
690
+ }
691
+ }
692
+ },
693
+ "then": {
694
+ "required": ["topicGetActive", "topicSetActive", "topicGetCurrentHeaterCoolerState", "topicGetCurrentTemperature", "topicGetTargetHeaterCoolerState", "topicSetTargetHeaterCoolerState", "valueStateActive", "valueStateInactive"],
695
+ "anyOf": [
696
+ { "required": ["valueModeCool"] },
697
+ { "required": ["valueModeHeat"] }
698
+ ]
699
+ }
700
+ },
701
+ {
702
+ "if": {
703
+ "properties": {
704
+ "info": {
705
+ "properties": {
706
+ "type" : {
707
+ "const": "Thermostat"
708
+ }
709
+ }
710
+ }
711
+ }
712
+ },
713
+ "then": {
714
+ "required": ["topicGetCurrentHeatingCoolingState", "topicGetTargetHeatingCoolingState", "topicSetTargetHeatingCoolingState", "topicGetCurrentTemperature", "topicGetTargetTemperature", "topicSetTargetTemperature"],
715
+ "anyOf": [
716
+ { "required": ["valueModeCool"] },
717
+ { "required": ["valueModeHeat"] },
718
+ { "required": ["valueModeOff"] }
719
+ ]
720
+ }
721
+ },
722
+ {
723
+ "if": {
724
+ "properties": {
725
+ "info": {
726
+ "properties": {
727
+ "type" : {
728
+ "const": "LockMechanism"
729
+ }
730
+ }
731
+ }
732
+ }
733
+ },
734
+ "then": {
735
+ "required": ["topicGetCurrentLockState", "topicGetTargetLockState", "topicSetTargetLockState", "valueLockStateSecured", "valueLockStateUnsecured"]
736
+ }
737
+ },
738
+ {
739
+ "if": {
740
+ "properties": {
741
+ "info": {
742
+ "properties": {
743
+ "type" : {
744
+ "const": "SecuritySystem"
745
+ }
746
+ }
747
+ }
748
+ }
749
+ },
750
+ "then": {
751
+ "required": ["topicGetCurrentSecurityState", "topicGetTargetSecurityState", "topicSetTargetSecurityState"],
752
+ "anyOf": [
753
+ { "required": ["valueArmStay"] },
754
+ { "required": ["valueArmAway"] },
755
+ { "required": ["valueArmNight"] },
756
+ { "required": ["valueDisarm"] },
757
+ { "required": ["valueAlarmTriggered"] }
758
+ ]
759
+ }
760
+ }
761
+ ]
487
762
  },
488
763
  "default": []
489
764
  },
@@ -78,7 +78,7 @@ export class HomebridgeEasyMQTT {
78
78
  }
79
79
  });
80
80
  const randIndex = Math.floor(Math.random() * strings.startup.welcome.length);
81
- this.log.always(strings.startup.complete, strings.startup.welcome[randIndex]);
81
+ this.log.always(`${strings.startup.complete}\n${strings.startup.welcome[randIndex]}`);
82
82
  }
83
83
  createPlatformAccessory(name, uuid) {
84
84
  let platformAccessory = this.platformAccessories.get(uuid);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAIvD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,kBAAkB;IASV;IACA;IARF,GAAG,CAAM;IAET,mBAAmB,GAAmC,IAAI,GAAG,EAAE,CAAC;IAChE,WAAW,GAA4D,EAAE,CAAC;IAE3F,YACE,MAAc,EACG,MAAsB,EACtB,GAAQ;QADR,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QAGzB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEtB,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,MAAM,CACb,oDAAoD,EACpD,UAAU,EAAE,EACZ,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAC5B,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,WAAW,CAAC,OAAO,CAAE,SAAS,CAAC,EAAE;YACpC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAK;QAEjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAEnD,KAAK,MAAM,eAAe,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,CAAC;gBAC3D,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBACzE,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAC7C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAE5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAE7B,SAAS;YACX,CAAC;YAED,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACxF,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEzG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAEvC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAEpH,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IAEO,uBAAuB,CAAC,IAAY,EAAE,IAAY;QAExD,IAAI,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEvB,iBAAiB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/D,iBAAiB,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAE5C,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEtF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAEtD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,qBAAqB,CAAC,SAA4B;QACxD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;CACF"}
@@ -24,4 +24,4 @@
24
24
 
25
25
  <footer id="footer" class="text-center" style="display: none; font-style: italic; font-size: 0.9em;" i18n="required"></footer>
26
26
 
27
- <script src="ui.js?v=1.4.0-beta.3"></script>
27
+ <script src="ui.js?v=1.4.0-beta.4"></script>
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Homebridge Easy MQTT",
5
5
  "description": "Homebridge plugin for easy control of MQTT devices",
6
6
  "type": "module",
7
- "version": "1.4.0-beta.3",
7
+ "version": "1.4.0-beta.4",
8
8
  "homepage": "https://github.com/mpatfield/homebridge-easy-mqtt#readme",
9
9
  "repository": {
10
10
  "type": "git",