From c82268f6c951c4f71d57094ca24747b092faccf4 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 17 Aug 2023 20:05:55 +0200 Subject: [PATCH 01/10] ma: add podcast.savar.de --- kartei/makefu/default.nix | 10 ++++++++++ kartei/makefu/retiolum/podcast.savar.de.pub | 8 ++++++++ kartei/makefu/retiolum/podcast.savar.de_ed25519.pub | 1 + kartei/makefu/wiregrill/podcast.savar.de.pub | 1 + 4 files changed, 20 insertions(+) create mode 100644 kartei/makefu/retiolum/podcast.savar.de.pub create mode 100644 kartei/makefu/retiolum/podcast.savar.de_ed25519.pub create mode 100644 kartei/makefu/wiregrill/podcast.savar.de.pub diff --git a/kartei/makefu/default.nix b/kartei/makefu/default.nix index e6c296c75..5cf8ad62a 100644 --- a/kartei/makefu/default.nix +++ b/kartei/makefu/default.nix @@ -96,6 +96,16 @@ in { retiolum.ip4.addr = "10.243.0.212"; }; }; + "podcast.savar.de" = rec { + nets = { + retiolum.ip4 = { + addr = "10.243.136.238"; + aliases = [ + "sava.r" + ]; + }; + }; + }; x = { syncthing.id = "OA36OF6-JEFCUJQ-OEYVTMH-DPCACQI-3AJRE5G-BFVMOUG-RPYJQE3-4ZCUWA5"; nets = { diff --git a/kartei/makefu/retiolum/podcast.savar.de.pub b/kartei/makefu/retiolum/podcast.savar.de.pub new file mode 100644 index 000000000..65da0d5f9 --- /dev/null +++ b/kartei/makefu/retiolum/podcast.savar.de.pub @@ -0,0 +1,8 @@ +-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEAvxhCwL7g+p3rp2aelJHKHowLLcDZVqZnsuViW5jzQ5kQuDB6Rc7f +IiUXXzg6/BL2o7jUW1gRrHbiVy7360HxsTwQvV8j0/s+UsCQCybWclGE2NlsjCUM +xi/zTn/R523o43J4t6L7ohDlJVBCPMVJu5ZWVIlMAWSHI45WFu9JAyKOZJnPEYQb +eyw8P93ztZyijoRTV1SEYK9FiSsfmNgGIqPlE6QPE1S+oR6j+718WSrmQjcBO8uO +cbj4ZPEgokYRF+WH4m9fPfkTWH6qQ1idqiWZfeUR2TfLLDQ+zDpJpoXlXk/JOqMu +7kdx3dfuiulI93pUDVeGXh0YCyTmVvavdQIDAQAB +-----END RSA PUBLIC KEY----- diff --git a/kartei/makefu/retiolum/podcast.savar.de_ed25519.pub b/kartei/makefu/retiolum/podcast.savar.de_ed25519.pub new file mode 100644 index 000000000..e08b7f1b7 --- /dev/null +++ b/kartei/makefu/retiolum/podcast.savar.de_ed25519.pub @@ -0,0 +1 @@ +Ed25519PublicKey = s/m2cdP6VguKTzTFLdoHMG7t4+94NNT/+ZHYcmSxSVP diff --git a/kartei/makefu/wiregrill/podcast.savar.de.pub b/kartei/makefu/wiregrill/podcast.savar.de.pub new file mode 100644 index 000000000..f6153f5f8 --- /dev/null +++ b/kartei/makefu/wiregrill/podcast.savar.de.pub @@ -0,0 +1 @@ +mM/QKHTnLlC5qyClRY9WZKg3TK4F+WpLIKRtjCmCCHM= From 00c87e906580a17da2d1f306c415ffc2d2b5fe6e Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 17 Aug 2023 20:42:53 +0200 Subject: [PATCH 02/10] ma: podcast.savar.de -> savarcast --- kartei/makefu/default.nix | 6 +++--- .../makefu/retiolum/{podcast.savar.de.pub => savarcast.pub} | 0 .../{podcast.savar.de_ed25519.pub => savarcast_ed25519.pub} | 0 .../wiregrill/{podcast.savar.de.pub => savarcast.pub} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename kartei/makefu/retiolum/{podcast.savar.de.pub => savarcast.pub} (100%) rename kartei/makefu/retiolum/{podcast.savar.de_ed25519.pub => savarcast_ed25519.pub} (100%) rename kartei/makefu/wiregrill/{podcast.savar.de.pub => savarcast.pub} (100%) diff --git a/kartei/makefu/default.nix b/kartei/makefu/default.nix index 5cf8ad62a..646e6a834 100644 --- a/kartei/makefu/default.nix +++ b/kartei/makefu/default.nix @@ -96,14 +96,14 @@ in { retiolum.ip4.addr = "10.243.0.212"; }; }; - "podcast.savar.de" = rec { + savarcast = rec { nets = { retiolum.ip4 = { addr = "10.243.136.238"; - aliases = [ + }; + retiolum.aliases = [ "sava.r" ]; - }; }; }; x = { diff --git a/kartei/makefu/retiolum/podcast.savar.de.pub b/kartei/makefu/retiolum/savarcast.pub similarity index 100% rename from kartei/makefu/retiolum/podcast.savar.de.pub rename to kartei/makefu/retiolum/savarcast.pub diff --git a/kartei/makefu/retiolum/podcast.savar.de_ed25519.pub b/kartei/makefu/retiolum/savarcast_ed25519.pub similarity index 100% rename from kartei/makefu/retiolum/podcast.savar.de_ed25519.pub rename to kartei/makefu/retiolum/savarcast_ed25519.pub diff --git a/kartei/makefu/wiregrill/podcast.savar.de.pub b/kartei/makefu/wiregrill/savarcast.pub similarity index 100% rename from kartei/makefu/wiregrill/podcast.savar.de.pub rename to kartei/makefu/wiregrill/savarcast.pub From e157ffa72856e4378aa23b096b2efff233f3cb3d Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 18 Aug 2023 16:19:24 +0200 Subject: [PATCH 03/10] kartei/janik: lib -> slib --- kartei/janik/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kartei/janik/default.nix b/kartei/janik/default.nix index 44ec9b0a8..a945550d1 100644 --- a/kartei/janik/default.nix +++ b/kartei/janik/default.nix @@ -1,12 +1,12 @@ -with import ../../lib; -{ config, ... }: let - hostDefaults = hostName: host: flip recursiveUpdate host ({ +{ config, lib, ... }: let + slib = import ../../lib/pure.nix { inherit lib; }; + hostDefaults = hostName: host: lib.flip lib.recursiveUpdate host ({ ci = false; external = true; monitoring = false; - } // optionalAttrs (host.nets?retiolum) { + } // lib.optionalAttrs (host.nets?retiolum) { nets.retiolum.ip6.addr = - (krebs.genipv6 "retiolum" "external" { inherit hostName; }).address; + (slib.krebs.genipv6 "retiolum" "external" { inherit hostName; }).address; }); in { users.janik = { @@ -16,7 +16,7 @@ in { owner = config.krebs.users.janik; nets.retiolum = { aliases = [ "hertz.janik.r" ]; - ip6.addr = (lib.krebs.genipv6 "retiolum" "janik" { hostName = "hertz"; }).address; + ip6.addr = (slib.krebs.genipv6 "retiolum" "janik" { hostName = "hertz"; }).address; tinc.pubkey = '' -----BEGIN RSA PUBLIC KEY----- MIICCgKCAgEA0mqxrdVU9wFhNZYGWEknJpKV4yIodNlaCIKDPVhU5wmlzh2szKUS From f157c7b47f249470b4f5cebdc53ce391d938b0b4 Mon Sep 17 00:00:00 2001 From: makefu Date: Mon, 2 Oct 2023 12:30:49 +0200 Subject: [PATCH 04/10] ma wiregrill: update telex key --- kartei/makefu/wiregrill/telex.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kartei/makefu/wiregrill/telex.pub b/kartei/makefu/wiregrill/telex.pub index 12a42177e..668d7ca68 100644 --- a/kartei/makefu/wiregrill/telex.pub +++ b/kartei/makefu/wiregrill/telex.pub @@ -1 +1 @@ -T7Cr80dBbtPFCPdz4OS7whDlQJzn2Orclq5rLVtD+Ds= +Y6fOW2QDt0SsHT7hSVzzJYQVB3JI/txO4/FDB54Z52A= From 13d946bebaf531a7ab95bd9d88d7d42b57fa4ad4 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 14 Jan 2024 21:47:32 +0100 Subject: [PATCH 05/10] makefu: add paper.euer to gum --- kartei/makefu/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kartei/makefu/default.nix b/kartei/makefu/default.nix index 785ec14eb..d6134cd8d 100644 --- a/kartei/makefu/default.nix +++ b/kartei/makefu/default.nix @@ -137,6 +137,7 @@ in { aliases = [ "omo.r" "dcpp.omo.r" + "hass.omo.r" "backup.makefu.r" "torrent.omo.r" "music.omo.r" @@ -249,6 +250,7 @@ in { ul.work.euer IN A ${nets.internet.ip4.addr} music.euer IN A ${nets.internet.ip4.addr} ntfy.euer IN A ${nets.internet.ip4.addr} + paper.euer IN A ${nets.internet.ip4.addr} ''; }; nets = rec { From 9a180b351b903dee05e51faab3127ff0643c6e87 Mon Sep 17 00:00:00 2001 From: makefu Date: Sun, 14 Jan 2024 22:18:43 +0100 Subject: [PATCH 06/10] ma telex: update wiregrill key --- kartei/makefu/wiregrill/telex.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kartei/makefu/wiregrill/telex.pub b/kartei/makefu/wiregrill/telex.pub index 668d7ca68..4a5f666cc 100644 --- a/kartei/makefu/wiregrill/telex.pub +++ b/kartei/makefu/wiregrill/telex.pub @@ -1 +1 @@ -Y6fOW2QDt0SsHT7hSVzzJYQVB3JI/txO4/FDB54Z52A= +yAKvxTvcEVdn+MeKsmptZkR3XSEue+wSyLxwcjBYxxo= From 658f5c74a3203f231dde5bd04e24ea3a56547db1 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 24 Apr 2024 23:46:57 +0200 Subject: [PATCH 07/10] puyak: manage zigbee via home-assistant --- flake.lock | 6 +++--- krebs/1systems/puyak/config.nix | 3 ++- krebs/1systems/puyak/net.nix | 2 +- krebs/2configs/news-host.nix | 3 ++- krebs/2configs/shack/glados/default.nix | 7 +++---- krebs/2configs/shack/glados/zigbee.nix | 5 +++++ 6 files changed, 16 insertions(+), 10 deletions(-) create mode 100644 krebs/2configs/shack/glados/zigbee.nix diff --git a/flake.lock b/flake.lock index 9a05f5a3c..509ef218b 100644 --- a/flake.lock +++ b/flake.lock @@ -18,11 +18,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707956935, - "narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=", + "lastModified": 1710272261, + "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c", + "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", "type": "github" }, "original": { diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index 60c1c941a..d3c6cbeba 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ ./net.nix @@ -170,4 +170,5 @@ isNormalUser = true; shell = "/run/current-system/sw/bin/zsh"; }; + system.stateVersion = lib.mkForce "24.05"; } diff --git a/krebs/1systems/puyak/net.nix b/krebs/1systems/puyak/net.nix index 59b22b380..fe2fd238e 100644 --- a/krebs/1systems/puyak/net.nix +++ b/krebs/1systems/puyak/net.nix @@ -14,7 +14,7 @@ in { interfaces."${ext-if}".ipv4.addresses = [ { address = shack-ip; - prefixLength = 22; + prefixLength = 20; } ]; diff --git a/krebs/2configs/news-host.nix b/krebs/2configs/news-host.nix index 81922ef87..9b8627d61 100644 --- a/krebs/2configs/news-host.nix +++ b/krebs/2configs/news-host.nix @@ -1,5 +1,6 @@ -{ config, ... }: +{ config,lib, ... }: { + nixpkgs.config.allowUnfree = true; # "consul-1.18.0" krebs.sync-containers3.containers.news = { sshKey = "${config.krebs.secret.directory}/news.sync.key"; }; diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index 236b5000d..23921c23e 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -3,10 +3,9 @@ let kodi-host = "192.168.8.11"; confdir = "/var/lib/homeassistant-docker"; in { - imports = [ - ]; + imports = [ ./zigbee.nix ]; - # networking.firewall.allowedTCPPorts = [ 8123 ]; + networking.firewall.allowedTCPPorts = [ 8123 ]; virtualisation.oci-containers.containers.hass = { image = "homeassistant/home-assistant:latest"; environment = { @@ -16,7 +15,7 @@ in { PGID = toString config.users.groups.news_container.gid; UMASK = "007"; }; - extraOptions = ["--net=host" ]; + extraOptions = ["--net=host" "--device=/dev/zigbee" ]; volumes = [ "${confdir}:/config" #"${confdir}/docker-run:/etc/services.d/home-assistant/run:" diff --git a/krebs/2configs/shack/glados/zigbee.nix b/krebs/2configs/shack/glados/zigbee.nix new file mode 100644 index 000000000..a8967cc37 --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee.nix @@ -0,0 +1,5 @@ +{ + services.udev.extraRules = '' + SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="zigbee", MODE="0666" + ''; +} From 190db40330c87a8e69a718255090ec9c2957aabd Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 24 Apr 2024 23:49:22 +0200 Subject: [PATCH 08/10] glados: mount ts011f quirks into home-assistant container --- krebs/2configs/shack/glados/default.nix | 1 + .../shack/glados/zigbee-quirks/__init__.py | 0 .../zigbee-quirks/ts011f_power_monitoring.py | 104 ++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 krebs/2configs/shack/glados/zigbee-quirks/__init__.py create mode 100644 krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index 23921c23e..ecf9ef48a 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -18,6 +18,7 @@ in { extraOptions = ["--net=host" "--device=/dev/zigbee" ]; volumes = [ "${confdir}:/config" + "${./zigbee-quirks}:/quirks" #"${confdir}/docker-run:/etc/services.d/home-assistant/run:" ]; }; diff --git a/krebs/2configs/shack/glados/zigbee-quirks/__init__.py b/krebs/2configs/shack/glados/zigbee-quirks/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py new file mode 100644 index 000000000..51ca139bc --- /dev/null +++ b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py @@ -0,0 +1,104 @@ +"""TS011F plug.""" + +from zigpy.profiles import zgp, zha +from zigpy.zcl.clusters.general import ( + Basic, + GreenPowerProxy, + Groups, + Identify, + OnOff, + Ota, + Scenes, + Time, +) +from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement +from zigpy.zcl.clusters.lightlink import LightLink +from zigpy.zcl.clusters.smartenergy import Metering + +from zhaquirks.const import ( + DEVICE_TYPE, + ENDPOINTS, + INPUT_CLUSTERS, + MODEL, + MODELS_INFO, + OUTPUT_CLUSTERS, + PROFILE_ID, +) +from zhaquirks.tuya import ( + TuyaZBE000Cluster, + TuyaZBElectricalMeasurement, + TuyaZBMeteringClusterWithUnit, + TuyaZBOnOffAttributeCluster, +) +from zhaquirks.tuya.mcu import EnchantedDevice + + +class Plug_v3(EnchantedDevice): + """Tuya TS011F plug. One plug is _Tz3000_0Zfrhq4I.""" + + signature = { + MODEL: "TS011F", + ENDPOINTS: { + 1: { + PROFILE_ID: zha.PROFILE_ID, + DEVICE_TYPE: zha.DeviceType.SMART_PLUG, + INPUT_CLUSTERS: [ + Basic.cluster_id, + Identify.cluster_id, + Groups.cluster_id, + Scenes.cluster_id, + OnOff.cluster_id, + Time.cluster_id, + Metering.cluster_id, + ElectricalMeasurement.cluster_id, + LightLink.cluster_id, + 0x1888, + TuyaZBE000Cluster.cluster_id, + ], + OUTPUT_CLUSTERS: [ + Ota.cluster_id, + ], + }, + 242: { + PROFILE_ID: zgp.PROFILE_ID, + DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC, + INPUT_CLUSTERS: [], + OUTPUT_CLUSTERS: [ + GreenPowerProxy.cluster_id, + ], + }, + }, + } + + replacement = { + ENDPOINTS: { + 1: { + PROFILE_ID: zha.PROFILE_ID, + DEVICE_TYPE: zha.DeviceType.SMART_PLUG, + INPUT_CLUSTERS: [ + Basic.cluster_id, + Identify.cluster_id, + Groups.cluster_id, + Scenes.cluster_id, + TuyaZBOnOffAttributeCluster, + Time.cluster_id, + TuyaZBMeteringClusterWithUnit, + TuyaZBElectricalMeasurement, + LightLink.cluster_id, + 0x1888, + TuyaZBE000Cluster, + ], + OUTPUT_CLUSTERS: [ + Ota.cluster_id, + ], + }, + 242: { + PROFILE_ID: zgp.PROFILE_ID, + DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC, + INPUT_CLUSTERS: [], + OUTPUT_CLUSTERS: [ + GreenPowerProxy.cluster_id, + ], + }, + }, + } From 2e6cdf158ddafa1151389ade22d27580b31cbdde Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 25 Apr 2024 00:12:03 +0200 Subject: [PATCH 09/10] puyak.r: enable esphome --- krebs/1systems/puyak/config.nix | 1 + krebs/2configs/shack/esphome.nix | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 krebs/2configs/shack/esphome.nix diff --git a/krebs/1systems/puyak/config.nix b/krebs/1systems/puyak/config.nix index d3c6cbeba..d3891af82 100644 --- a/krebs/1systems/puyak/config.nix +++ b/krebs/1systems/puyak/config.nix @@ -73,6 +73,7 @@ # hass.shack + # connect to git.shackspace.de as group runner for rz diff --git a/krebs/2configs/shack/esphome.nix b/krebs/2configs/shack/esphome.nix new file mode 100644 index 000000000..b6bcbce3e --- /dev/null +++ b/krebs/2configs/shack/esphome.nix @@ -0,0 +1,7 @@ +{ + services.esphome = { + enable = true; + address = "0.0.0.0"; + openFirewall = true; + }; +} From 406b9022555ba8f1f3babb3333340b8c74518a0c Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 25 Apr 2024 00:13:03 +0200 Subject: [PATCH 10/10] shack/glados: use working quirk for ts011f source: https://github.com/zigpy/zha-device-handlers/issues/1764#issuecomment-1946842958 --- krebs/2configs/shack/glados/default.nix | 5 +- .../zigbee-quirks/ts011f_power_monitoring.py | 52 ++++++++----------- 2 files changed, 23 insertions(+), 34 deletions(-) diff --git a/krebs/2configs/shack/glados/default.nix b/krebs/2configs/shack/glados/default.nix index ecf9ef48a..e8ed18f0d 100644 --- a/krebs/2configs/shack/glados/default.nix +++ b/krebs/2configs/shack/glados/default.nix @@ -10,9 +10,6 @@ in { image = "homeassistant/home-assistant:latest"; environment = { TZ = "Europe/Berlin"; - # TODO create unique users - PUID = toString config.users.users.news_container.uid; - PGID = toString config.users.groups.news_container.gid; UMASK = "007"; }; extraOptions = ["--net=host" "--device=/dev/zigbee" ]; @@ -25,7 +22,7 @@ in { systemd.tmpfiles.rules = [ #"f ${confdir}/docker-run 0770 kiosk kiosk - -" # TODO: - "d ${confdir} 0770 news_container news_container - -" + "d ${confdir} 0770 root root - -" ]; services.nginx.virtualHosts."hass.shack" = { diff --git a/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py index 51ca139bc..b520fe947 100644 --- a/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py +++ b/krebs/2configs/shack/glados/zigbee-quirks/ts011f_power_monitoring.py @@ -1,6 +1,7 @@ """TS011F plug.""" from zigpy.profiles import zgp, zha +from zigpy.quirks import CustomDevice from zigpy.zcl.clusters.general import ( Basic, GreenPowerProxy, @@ -13,6 +14,7 @@ from zigpy.zcl.clusters.general import ( ) from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement from zigpy.zcl.clusters.lightlink import LightLink +from zigpy.zcl.clusters.measurement import TemperatureMeasurement from zigpy.zcl.clusters.smartenergy import Metering from zhaquirks.const import ( @@ -24,24 +26,35 @@ from zhaquirks.const import ( OUTPUT_CLUSTERS, PROFILE_ID, ) +from zhaquirks.quirk_ids import TUYA_PLUG_ONOFF from zhaquirks.tuya import ( + EnchantedDevice, + TuyaNewManufCluster, + TuyaZB1888Cluster, TuyaZBE000Cluster, TuyaZBElectricalMeasurement, + TuyaZBExternalSwitchTypeCluster, + TuyaZBMeteringCluster, TuyaZBMeteringClusterWithUnit, TuyaZBOnOffAttributeCluster, ) -from zhaquirks.tuya.mcu import EnchantedDevice +class Plug_v2l(EnchantedDevice): + """Another TS011F Tuya plug. First one using this definition is _TZ3000_okaz9tjs.""" -class Plug_v3(EnchantedDevice): - """Tuya TS011F plug. One plug is _Tz3000_0Zfrhq4I.""" + quirk_id = TUYA_PLUG_ONOFF signature = { MODEL: "TS011F", ENDPOINTS: { + # "profile_id": 260, + # "device_type": "0x0100", + # "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0702", "0x0b04", "0xe001"], + # "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x000a", "0x0702", "0x0b04", "0x1000", "0xe000", "0xe001"], + # "out_clusters": [] 1: { PROFILE_ID: zha.PROFILE_ID, - DEVICE_TYPE: zha.DeviceType.SMART_PLUG, + DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT, INPUT_CLUSTERS: [ Basic.cluster_id, Identify.cluster_id, @@ -52,24 +65,13 @@ class Plug_v3(EnchantedDevice): Metering.cluster_id, ElectricalMeasurement.cluster_id, LightLink.cluster_id, - 0x1888, TuyaZBE000Cluster.cluster_id, + TuyaZBExternalSwitchTypeCluster.cluster_id, ], - OUTPUT_CLUSTERS: [ - Ota.cluster_id, - ], - }, - 242: { - PROFILE_ID: zgp.PROFILE_ID, - DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC, - INPUT_CLUSTERS: [], - OUTPUT_CLUSTERS: [ - GreenPowerProxy.cluster_id, - ], + OUTPUT_CLUSTERS: [], }, }, } - replacement = { ENDPOINTS: { 1: { @@ -85,20 +87,10 @@ class Plug_v3(EnchantedDevice): TuyaZBMeteringClusterWithUnit, TuyaZBElectricalMeasurement, LightLink.cluster_id, - 0x1888, - TuyaZBE000Cluster, - ], - OUTPUT_CLUSTERS: [ - Ota.cluster_id, - ], - }, - 242: { - PROFILE_ID: zgp.PROFILE_ID, - DEVICE_TYPE: zgp.DeviceType.PROXY_BASIC, - INPUT_CLUSTERS: [], - OUTPUT_CLUSTERS: [ - GreenPowerProxy.cluster_id, + TuyaZBE000Cluster.cluster_id, + TuyaZBExternalSwitchTypeCluster, ], + OUTPUT_CLUSTERS: [], }, }, }