Skip to content

Commit d6f4569

Browse files
authored
Add support for Plus Plug IT (#144)
* Add support for Plus Plug IT * Clean up * Remove unnecessary code
1 parent c8d36d2 commit d6f4569

File tree

3 files changed

+60
-113
lines changed

3 files changed

+60
-113
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Shellies Discovery Gen2 will automatically install/update the script on your She
3333
- Shelly Plus 2PM
3434
- Shelly Plus H&T
3535
- Shelly Plus I4
36+
- Shelly Plus Plug IT
3637
- Shelly Plus Plug S
3738
- Shelly Plus Plug UK
3839
- Shelly Plus Plug US

info.md

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Shellies Discovery Gen2 will automatically install/update the script on your She
2626
- Shelly Plus 2PM
2727
- Shelly Plus H&T
2828
- Shelly Plus I4
29+
- Shelly Plus Plug IT
2930
- Shelly Plus Plug S
3031
- Shelly Plus Plug UK
3132
- Shelly Plus Plug US

python_scripts/shellies_discovery_gen2.py

+58-113
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@
135135
MODEL_PLUS_2PM = "shellyplus2pm"
136136
MODEL_PLUS_HT = "shellyplusht"
137137
MODEL_PLUS_I4 = "shellyplusi4"
138+
MODEL_PLUS_PLUG_IT = "shellyplusplugit"
138139
MODEL_PLUS_PLUG_S = "shellyplusplugs"
139140
MODEL_PLUS_PLUG_UK = "shellypluspluguk"
140141
MODEL_PLUS_PLUG_US = "shellyplusplugus"
@@ -683,14 +684,8 @@
683684
MODEL_PLUS_1: {
684685
ATTR_NAME: "Shelly Plus 1",
685686
ATTR_MODEL_ID: "SNSW-001X16EU",
686-
ATTR_BINARY_SENSORS: {
687-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
688-
SENSOR_FIRMWARE: {},
689-
},
690-
ATTR_BUTTONS: {
691-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
692-
BUTTON_UPDATE_FIRMWARE: {},
693-
},
687+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
688+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
694689
ATTR_INPUTS: 1,
695690
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
696691
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -711,14 +706,8 @@
711706
MODEL_PLUS_1PM: {
712707
ATTR_NAME: "Shelly Plus 1PM",
713708
ATTR_MODEL_ID: "SNSW-001P16EU",
714-
ATTR_BINARY_SENSORS: {
715-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
716-
SENSOR_FIRMWARE: {},
717-
},
718-
ATTR_BUTTONS: {
719-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
720-
BUTTON_UPDATE_FIRMWARE: {},
721-
},
709+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
710+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
722711
ATTR_INPUTS: 1,
723712
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
724713
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -750,14 +739,8 @@
750739
MODEL_PLUS_2PM: {
751740
ATTR_NAME: "Shelly Plus 2PM",
752741
ATTR_MODEL_ID: "SNSW-002P16EU",
753-
ATTR_BINARY_SENSORS: {
754-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
755-
SENSOR_FIRMWARE: {},
756-
},
757-
ATTR_BUTTONS: {
758-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
759-
BUTTON_UPDATE_FIRMWARE: {},
760-
},
742+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
743+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
761744
ATTR_COVERS: 1,
762745
ATTR_COVER_SENSORS: {
763746
SENSOR_CURRENT: DESCRIPTION_SENSOR_CURRENT_COVER,
@@ -819,14 +802,8 @@
819802
MODEL_PLUS_I4: {
820803
ATTR_NAME: "Shelly Plus I4",
821804
ATTR_MODEL_ID: "SNSW-0024X",
822-
ATTR_BINARY_SENSORS: {
823-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
824-
SENSOR_FIRMWARE: {},
825-
},
826-
ATTR_BUTTONS: {
827-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
828-
BUTTON_UPDATE_FIRMWARE: {},
829-
},
805+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
806+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
830807
ATTR_INPUTS: 4,
831808
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
832809
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -842,17 +819,11 @@
842819
},
843820
ATTR_MIN_FIRMWARE_DATE: 20220308,
844821
},
845-
MODEL_PLUS_PLUG_UK: {
846-
ATTR_NAME: "Shelly Plus Plug UK",
847-
ATTR_MODEL_ID: "SNPL-00112UK",
848-
ATTR_BINARY_SENSORS: {
849-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
850-
SENSOR_FIRMWARE: {},
851-
},
852-
ATTR_BUTTONS: {
853-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
854-
BUTTON_UPDATE_FIRMWARE: {},
855-
},
822+
MODEL_PLUS_PLUG_IT: {
823+
ATTR_NAME: "Shelly Plus Plug IT",
824+
ATTR_MODEL_ID: "SNPL-00110IT",
825+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
826+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
856827
ATTR_RELAYS: 1,
857828
ATTR_RELAY_BINARY_SENSORS: {
858829
SENSOR_OVERPOWER: DESCRIPTION_SENSOR_OVERPOWER,
@@ -881,14 +852,38 @@
881852
MODEL_PLUS_PLUG_S: {
882853
ATTR_NAME: "Shelly Plus Plug S",
883854
ATTR_MODEL_ID: "SNPL-00112EU",
884-
ATTR_BINARY_SENSORS: {
885-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
886-
SENSOR_FIRMWARE: {},
855+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
856+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
857+
ATTR_RELAYS: 1,
858+
ATTR_RELAY_BINARY_SENSORS: {
859+
SENSOR_OVERPOWER: DESCRIPTION_SENSOR_OVERPOWER,
860+
SENSOR_OVERTEMP: DESCRIPTION_SENSOR_OVERTEMP,
861+
SENSOR_OVERVOLTAGE: DESCRIPTION_SENSOR_OVERVOLTAGE,
887862
},
888-
ATTR_BUTTONS: {
889-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
890-
BUTTON_UPDATE_FIRMWARE: {},
863+
ATTR_RELAY_SENSORS: {
864+
SENSOR_CURRENT: DESCRIPTION_SENSOR_CURRENT,
865+
SENSOR_ENERGY: DESCRIPTION_SENSOR_ENERGY,
866+
SENSOR_POWER: DESCRIPTION_SENSOR_POWER,
867+
SENSOR_TEMPERATURE: DESCRIPTION_SENSOR_RELAY_TEMPERATURE,
868+
SENSOR_VOLTAGE: DESCRIPTION_SENSOR_VOLTAGE,
869+
},
870+
ATTR_SENSORS: {
871+
SENSOR_LAST_RESTART: DESCRIPTION_SENSOR_LAST_RESTART,
872+
SENSOR_SSID: DESCRIPTION_SENSOR_SSID,
873+
SENSOR_WIFI_IP: DESCRIPTION_SENSOR_WIFI_IP,
874+
SENSOR_WIFI_SIGNAL: DESCRIPTION_SENSOR_WIFI_SIGNAL,
875+
},
876+
ATTR_UPDATES: {
877+
UPDATE_FIRMWARE: DESCRIPTION_UPDATE_FIRMWARE,
878+
UPDATE_FIRMWARE_BETA: DESCRIPTION_UPDATE_FIRMWARE_BETA,
891879
},
880+
ATTR_MIN_FIRMWARE_DATE: 20221205,
881+
},
882+
MODEL_PLUS_PLUG_UK: {
883+
ATTR_NAME: "Shelly Plus Plug UK",
884+
ATTR_MODEL_ID: "SNPL-00112UK",
885+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
886+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
892887
ATTR_RELAYS: 1,
893888
ATTR_RELAY_BINARY_SENSORS: {
894889
SENSOR_OVERPOWER: DESCRIPTION_SENSOR_OVERPOWER,
@@ -917,14 +912,8 @@
917912
MODEL_PLUS_PLUG_US: {
918913
ATTR_NAME: "Shelly Plus Plug US",
919914
ATTR_MODEL_ID: "SNPL-00116US",
920-
ATTR_BINARY_SENSORS: {
921-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
922-
SENSOR_FIRMWARE: {},
923-
},
924-
ATTR_BUTTONS: {
925-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
926-
BUTTON_UPDATE_FIRMWARE: {},
927-
},
915+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
916+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
928917
ATTR_RELAYS: 1,
929918
ATTR_RELAY_BINARY_SENSORS: {
930919
SENSOR_OVERPOWER: DESCRIPTION_SENSOR_OVERPOWER,
@@ -990,14 +979,8 @@
990979
MODEL_PRO_1: {
991980
ATTR_NAME: "Shelly Pro 1",
992981
ATTR_MODEL_ID: "SPSW-001XE16EU",
993-
ATTR_BINARY_SENSORS: {
994-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
995-
SENSOR_FIRMWARE: {},
996-
},
997-
ATTR_BUTTONS: {
998-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
999-
BUTTON_UPDATE_FIRMWARE: {},
1000-
},
982+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
983+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
1001984
ATTR_INPUTS: 2,
1002985
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
1003986
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -1019,14 +1002,8 @@
10191002
MODEL_PRO_1PM: {
10201003
ATTR_NAME: "Shelly Pro 1PM",
10211004
ATTR_MODEL_ID: "SPSW-x01PE16EU",
1022-
ATTR_BINARY_SENSORS: {
1023-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
1024-
SENSOR_FIRMWARE: {},
1025-
},
1026-
ATTR_BUTTONS: {
1027-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
1028-
BUTTON_UPDATE_FIRMWARE: {},
1029-
},
1005+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
1006+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
10301007
ATTR_INPUTS: 2,
10311008
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
10321009
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -1060,14 +1037,8 @@
10601037
MODEL_PRO_2: {
10611038
ATTR_NAME: "Shelly Pro 2",
10621039
ATTR_MODEL_ID: "SPSW-x02XE16EU",
1063-
ATTR_BINARY_SENSORS: {
1064-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
1065-
SENSOR_FIRMWARE: {},
1066-
},
1067-
ATTR_BUTTONS: {
1068-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
1069-
BUTTON_UPDATE_FIRMWARE: {},
1070-
},
1040+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
1041+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
10711042
ATTR_INPUTS: 2,
10721043
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
10731044
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -1089,14 +1060,8 @@
10891060
MODEL_PRO_2PM: {
10901061
ATTR_NAME: "Shelly Pro 2PM",
10911062
ATTR_MODEL_ID: "SPSW-x02PE16EU",
1092-
ATTR_BINARY_SENSORS: {
1093-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
1094-
SENSOR_FIRMWARE: {},
1095-
},
1096-
ATTR_BUTTONS: {
1097-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
1098-
BUTTON_UPDATE_FIRMWARE: {},
1099-
},
1063+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
1064+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
11001065
ATTR_COVERS: 1,
11011066
ATTR_COVER_SENSORS: {
11021067
SENSOR_CURRENT: DESCRIPTION_SENSOR_CURRENT_COVER,
@@ -1139,14 +1104,8 @@
11391104
MODEL_PRO_3: {
11401105
ATTR_NAME: "Shelly Pro 3",
11411106
ATTR_MODEL_ID: "SPSW-003XE16EU",
1142-
ATTR_BINARY_SENSORS: {
1143-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
1144-
SENSOR_FIRMWARE: {},
1145-
},
1146-
ATTR_BUTTONS: {
1147-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
1148-
BUTTON_UPDATE_FIRMWARE: {},
1149-
},
1107+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
1108+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
11501109
ATTR_INPUTS: 3,
11511110
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
11521111
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -1198,14 +1157,8 @@
11981157
MODEL_PRO_4PM: {
11991158
ATTR_NAME: "Shelly Pro 4PM",
12001159
ATTR_MODEL_ID: "SPSW-x04PE16EU",
1201-
ATTR_BINARY_SENSORS: {
1202-
SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD,
1203-
SENSOR_FIRMWARE: {},
1204-
},
1205-
ATTR_BUTTONS: {
1206-
BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART,
1207-
BUTTON_UPDATE_FIRMWARE: {},
1208-
},
1160+
ATTR_BINARY_SENSORS: {SENSOR_CLOUD: DESCRIPTION_SENSOR_CLOUD},
1161+
ATTR_BUTTONS: {BUTTON_RESTART: DESCRIPTION_BUTTON_RESTART},
12091162
ATTR_INPUTS: 4,
12101163
ATTR_INPUT_BINARY_SENSORS: {SENSOR_INPUT: DESCRIPTION_SENSOR_INPUT},
12111164
ATTR_INPUT_EVENTS: [EVENT_SINGLE_PUSH, EVENT_DOUBLE_PUSH, EVENT_LONG_PUSH],
@@ -1539,10 +1492,6 @@ def get_binary_sensor(
15391492
f"{disc_prefix}/binary_sensor/{device_id}-{sensor}/config"
15401493
)
15411494

1542-
if not description:
1543-
payload = ""
1544-
return topic, payload
1545-
15461495
if profile == ATTR_COVER:
15471496
payload = ""
15481497
return topic, payload
@@ -1636,10 +1585,6 @@ def get_button(button, description):
16361585
"""Create configuration for Shelly button entity."""
16371586
topic = encode_config_topic(f"{disc_prefix}/button/{device_id}-{button}/config")
16381587

1639-
if not description:
1640-
payload = ""
1641-
return topic, payload
1642-
16431588
payload = {
16441589
KEY_NAME: f"{device_name} {description[KEY_NAME]}",
16451590
KEY_COMMAND_TOPIC: TOPIC_RPC,

0 commit comments

Comments
 (0)