Skip to content

Commit aa37fc6

Browse files
thecodebieniu
andauthored
Add new BLE models and remove duplicates (#1013)
* Add new BLE models and remove duplicates * Update aioshelly/const.py Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com> --------- Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
1 parent a469d0e commit aa37fc6

File tree

2 files changed

+68
-1
lines changed

2 files changed

+68
-1
lines changed

aioshelly/const.py

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,7 @@ class ShellyDevice:
512512
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
513513
gen=GEN2,
514514
supported=True,
515+
model_id=0x1808,
515516
),
516517
MODEL_BLU_GATEWAY_G3: ShellyDevice(
517518
model=MODEL_BLU_GATEWAY_G3,
@@ -527,20 +528,23 @@ class ShellyDevice:
527528
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
528529
gen=GEN2,
529530
supported=True,
531+
model_id=0x1000,
530532
),
531533
MODEL_PLUS_1_MINI: ShellyDevice(
532534
model=MODEL_PLUS_1_MINI,
533535
name="Shelly Plus 1 Mini",
534536
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
535537
gen=GEN2,
536538
supported=True,
539+
model_id=0x1010,
537540
),
538541
MODEL_PLUS_1_UL: ShellyDevice(
539542
model=MODEL_PLUS_1_UL,
540543
name="Shelly Plus 1 UL",
541544
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
542545
gen=GEN2,
543546
supported=True,
547+
model_id=None, # Uses same model ID as MODEL_PLUS_1
544548
),
545549
MODEL_PLUS_10V: ShellyDevice(
546550
model=MODEL_PLUS_10V,
@@ -563,34 +567,39 @@ class ShellyDevice:
563567
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
564568
gen=GEN2,
565569
supported=True,
570+
model_id=0x1001,
566571
),
567572
MODEL_PLUS_1PM_MINI: ShellyDevice(
568573
model=MODEL_PLUS_1PM_MINI,
569574
name="Shelly Plus 1PM Mini",
570575
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
571576
gen=GEN2,
572577
supported=True,
578+
model_id=0x1011,
573579
),
574580
MODEL_PLUS_1PM_UL: ShellyDevice(
575581
model=MODEL_PLUS_1PM_UL,
576582
name="Shelly Plus 1PM UL",
577583
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
578584
gen=GEN2,
579585
supported=True,
586+
model_id=None, # Uses same model ID as MODEL_PLUS_1PM
580587
),
581588
MODEL_PLUS_2PM: ShellyDevice(
582589
model=MODEL_PLUS_2PM,
583590
name="Shelly Plus 2PM",
584591
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
585592
gen=GEN2,
586593
supported=True,
594+
model_id=0x1002,
587595
),
588596
MODEL_PLUS_2PM_UL: ShellyDevice(
589597
model=MODEL_PLUS_2PM_UL,
590598
name="Shelly Plus 2PM UL",
591599
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
592600
gen=GEN2,
593601
supported=True,
602+
model_id=None, # Uses same model ID as MODEL_PLUS_2PM
594603
),
595604
MODEL_PLUS_2PM_V2: ShellyDevice(
596605
model=MODEL_PLUS_2PM_V2,
@@ -605,48 +614,55 @@ class ShellyDevice:
605614
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
606615
gen=GEN2,
607616
supported=True,
617+
model_id=0x1806,
608618
),
609619
MODEL_PLUS_I4: ShellyDevice(
610620
model=MODEL_PLUS_I4,
611621
name="Shelly Plus I4",
612622
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
613623
gen=GEN2,
614624
supported=True,
625+
model_id=0x1007,
615626
),
616627
MODEL_PLUS_I4DC: ShellyDevice(
617628
model=MODEL_PLUS_I4DC,
618629
name="Shelly Plus I4DC",
619630
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
620631
gen=GEN2,
621632
supported=True,
633+
model_id=0x1008,
622634
),
623635
MODEL_PLUS_PLUG_IT: ShellyDevice(
624636
model=MODEL_PLUS_PLUG_IT,
625637
name="Shelly Plus Plug IT",
626638
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
627639
gen=GEN2,
628640
supported=True,
641+
model_id=0x1803,
629642
),
630643
MODEL_PLUS_PLUG_S: ShellyDevice(
631644
model=MODEL_PLUS_PLUG_S,
632645
name="Shelly Plus Plug S",
633646
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
634647
gen=GEN2,
635648
supported=True,
649+
model_id=0x1800,
636650
),
637651
MODEL_PLUS_PLUG_S_V2: ShellyDevice(
638652
model=MODEL_PLUS_PLUG_S_V2,
639653
name="Shelly Plus Plug S",
640654
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
641655
gen=GEN2,
642656
supported=True,
657+
model_id=None, # Uses same model ID as MODEL_PLUS_PLUG_S
643658
),
644659
MODEL_PLUS_PLUG_UK: ShellyDevice(
645660
model=MODEL_PLUS_PLUG_UK,
646661
name="Shelly Plus Plug UK",
647662
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
648663
gen=GEN2,
649664
supported=True,
665+
model_id=0x1801,
650666
),
651667
MODEL_PLUS_PLUG_US: ShellyDevice(
652668
model=MODEL_PLUS_PLUG_US,
@@ -662,6 +678,7 @@ class ShellyDevice:
662678
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
663679
gen=GEN2,
664680
supported=True,
681+
model_id=0x1020,
665682
),
666683
MODEL_PLUS_RGBW_PM: ShellyDevice(
667684
model=MODEL_PLUS_RGBW_PM,
@@ -677,139 +694,159 @@ class ShellyDevice:
677694
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
678695
gen=GEN2,
679696
supported=True,
697+
model_id=0x1807,
680698
),
681699
MODEL_PLUS_UNI: ShellyDevice(
682700
model=MODEL_PLUS_UNI,
683701
name="Shelly Plus Uni",
684702
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
685703
gen=GEN2,
686704
supported=True,
705+
model_id=0x1012,
687706
),
688707
MODEL_PLUS_WALL_DIMMER: ShellyDevice(
689708
model=MODEL_PLUS_WALL_DIMMER,
690709
name="Shelly Plus Wall Dimmer",
691710
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
692711
gen=GEN2,
693712
supported=True,
713+
model_id=0x1003,
694714
),
695715
MODEL_PRO_1: ShellyDevice(
696716
model=MODEL_PRO_1,
697717
name="Shelly Pro 1",
698718
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
699719
gen=GEN2,
700720
supported=True,
721+
model_id=0x2000,
701722
),
702723
MODEL_PRO_1_V2: ShellyDevice(
703724
model="SPSW-101XE16EU",
704725
name="Shelly Pro 1",
705726
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
706727
gen=GEN2,
707728
supported=True,
729+
model_id=None, # Uses same model ID as MODEL_PRO_1
708730
),
709731
MODEL_PRO_1_V3: ShellyDevice(
710732
model=MODEL_PRO_1_V3,
711733
name="Shelly Pro 1",
712734
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
713735
gen=GEN2,
714736
supported=True,
737+
model_id=None, # Uses same model ID as MODEL_PRO_1
715738
),
716739
MODEL_PRO_1PM: ShellyDevice(
717740
model=MODEL_PRO_1PM,
718741
name="Shelly Pro 1PM",
719742
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
720743
gen=GEN2,
721744
supported=True,
745+
model_id=0x2001,
722746
),
723747
MODEL_PRO_1PM_V2: ShellyDevice(
724748
model=MODEL_PRO_1PM_V2,
725749
name="Shelly Pro 1PM",
726750
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
727751
gen=GEN2,
728752
supported=True,
753+
model_id=None, # Uses same model ID as MODEL_PRO_1PM
729754
),
730755
MODEL_PRO_1PM_V3: ShellyDevice(
731756
model=MODEL_PRO_1PM_V3,
732757
name="Shelly Pro 1PM",
733758
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
734759
gen=GEN2,
735760
supported=True,
761+
model_id=None, # Uses same model ID as MODEL_PRO_1PM
736762
),
737763
MODEL_PRO_1PM_V3_UL: ShellyDevice(
738764
model=MODEL_PRO_1PM_V3_UL,
739765
name="Shelly Pro 1PM UL",
740766
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
741767
gen=GEN2,
742768
supported=True,
769+
model_id=None, # Uses same model ID as MODEL_PRO_1PM
743770
),
744771
MODEL_PRO_2: ShellyDevice(
745772
model=MODEL_PRO_2,
746773
name="Shelly Pro 2",
747774
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
748775
gen=GEN2,
749776
supported=True,
777+
model_id=0x2002,
750778
),
751779
MODEL_PRO_2_V2: ShellyDevice(
752780
model=MODEL_PRO_2_V2,
753781
name="Shelly Pro 2",
754782
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
755783
gen=GEN2,
756784
supported=True,
785+
model_id=None, # Uses same model ID as MODEL_PRO_2
757786
),
758787
MODEL_PRO_2_V3: ShellyDevice(
759788
model=MODEL_PRO_2_V3,
760789
name="Shelly Pro 2",
761790
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
762791
gen=GEN2,
763792
supported=True,
793+
model_id=None, # Uses same model ID as MODEL_PRO_2
764794
),
765795
MODEL_PRO_2_V3_UL: ShellyDevice(
766796
model=MODEL_PRO_2_V3_UL,
767797
name="Shelly Pro 2 UL",
768798
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
769799
gen=GEN2,
770800
supported=True,
801+
model_id=None, # Uses same model ID as MODEL_PRO_2
771802
),
772803
MODEL_PRO_2PM: ShellyDevice(
773804
model=MODEL_PRO_2PM,
774805
name="Shelly Pro 2PM",
775806
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
776807
gen=GEN2,
777808
supported=True,
809+
model_id=0x2003,
778810
),
779811
MODEL_PRO_2PM_V2: ShellyDevice(
780812
model=MODEL_PRO_2PM_V2,
781813
name="Shelly Pro 2PM",
782814
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
783815
gen=GEN2,
784816
supported=True,
817+
model_id=None, # Uses same model ID as MODEL_PRO_2PM
785818
),
786819
MODEL_PRO_3: ShellyDevice(
787820
model=MODEL_PRO_3,
788821
name="Shelly Pro 3",
789822
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
790823
gen=GEN2,
791824
supported=True,
825+
model_id=0x2004,
792826
),
793827
MODEL_PRO_4PM: ShellyDevice(
794828
model=MODEL_PRO_4PM,
795829
name="Shelly Pro 4PM",
796830
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
797831
gen=GEN2,
798832
supported=True,
833+
model_id=0x2005,
799834
),
800835
MODEL_PRO_4PM_V2: ShellyDevice(
801836
model=MODEL_PRO_4PM_V2,
802837
name="Shelly Pro 4PM",
803838
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
804839
gen=GEN2,
805840
supported=True,
841+
model_id=None, # Uses same model ID as MODEL_PRO_4PM
806842
),
807843
MODEL_PRO_4PM_V3: ShellyDevice(
808844
model=MODEL_PRO_4PM_V3,
809845
name="Shelly Pro 4PM",
810846
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
811847
gen=GEN2,
812848
supported=True,
849+
model_id=None, # Uses same model ID as MODEL_PRO_4PM
813850
),
814851
MODEL_PRO_DIMMER_1PM: ShellyDevice(
815852
model=MODEL_PRO_DIMMER_1PM,
@@ -841,20 +878,23 @@ class ShellyDevice:
841878
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
842879
gen=GEN2,
843880
supported=True,
881+
model_id=0x200C,
844882
),
845883
MODEL_PRO_EM: ShellyDevice(
846884
model=MODEL_PRO_EM,
847885
name="Shelly Pro EM",
848886
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
849887
gen=GEN2,
850888
supported=True,
889+
model_id=0x2006,
851890
),
852891
MODEL_PRO_EM3: ShellyDevice(
853892
model=MODEL_PRO_EM3,
854893
name="Shelly Pro 3EM",
855894
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
856895
gen=GEN2,
857896
supported=True,
897+
model_id=0x1024,
858898
),
859899
MODEL_PRO_EM3_120: ShellyDevice(
860900
model=MODEL_PRO_EM3_120,
@@ -869,6 +909,7 @@ class ShellyDevice:
869909
min_fw_date=GEN2_MIN_FIRMWARE_DATE,
870910
gen=GEN2,
871911
supported=True,
912+
model_id=0x200F,
872913
),
873914
MODEL_PRO_EM3_3CT63: ShellyDevice(
874915
model=MODEL_PRO_EM3_3CT63,
@@ -1027,6 +1068,7 @@ class ShellyDevice:
10271068
min_fw_date=GEN3_MIN_FIRMWARE_DATE,
10281069
gen=GEN3,
10291070
supported=True,
1071+
model_id=0x1814,
10301072
),
10311073
MODEL_EM_G3: ShellyDevice(
10321074
model=MODEL_EM_G3,
@@ -1058,6 +1100,7 @@ class ShellyDevice:
10581100
min_fw_date=GEN3_MIN_FIRMWARE_DATE,
10591101
gen=GEN3,
10601102
supported=True,
1103+
model_id=0x1815,
10611104
),
10621105
MODEL_OUT_PLUG_S_G3: ShellyDevice(
10631106
model=MODEL_OUT_PLUG_S_G3,
@@ -1073,6 +1116,7 @@ class ShellyDevice:
10731116
min_fw_date=GEN4_MIN_FIRMWARE_DATE,
10741117
gen=GEN3,
10751118
supported=True,
1119+
model_id=0x1829,
10761120
),
10771121
MODEL_PM_MINI_G3: ShellyDevice(
10781122
model=MODEL_PM_MINI_G3,
@@ -1112,6 +1156,7 @@ class ShellyDevice:
11121156
min_fw_date=GEN3_MIN_FIRMWARE_DATE,
11131157
gen=GEN3,
11141158
supported=True,
1159+
model_id=0x4000,
11151160
),
11161161
MODEL_1_G4: ShellyDevice(
11171162
model=MODEL_1_G4,
@@ -1159,6 +1204,7 @@ class ShellyDevice:
11591204
min_fw_date=GEN4_MIN_FIRMWARE_DATE,
11601205
gen=GEN4,
11611206
supported=True,
1207+
model_id=0x1111,
11621208
),
11631209
MODEL_DIMMER_G4: ShellyDevice(
11641210
model=MODEL_DIMMER_G4,
@@ -1182,6 +1228,7 @@ class ShellyDevice:
11821228
min_fw_date=GEN4_MIN_FIRMWARE_DATE,
11831229
gen=GEN4,
11841230
supported=True,
1231+
model_id=0x1819,
11851232
),
11861233
MODEL_FLOOD_G4: ShellyDevice(
11871234
model=MODEL_FLOOD_G4,
@@ -1213,7 +1260,7 @@ class ShellyDevice:
12131260
min_fw_date=GEN4_MIN_FIRMWARE_DATE,
12141261
gen=GEN4,
12151262
supported=True,
1216-
model_id=0x1851,
1263+
model_id=None, # Uses same model ID as MODEL_POWER_STRIP_4_G4
12171264
),
12181265
MODEL_POWER_STRIP_US_4_G4: ShellyDevice(
12191266
model=MODEL_POWER_STRIP_US_4_G4,
@@ -1229,6 +1276,7 @@ class ShellyDevice:
12291276
min_fw_date=GEN4_MIN_FIRMWARE_DATE,
12301277
gen=GEN4,
12311278
supported=True,
1279+
model_id=0x1821,
12321280
),
12331281
}
12341282

0 commit comments

Comments
 (0)