From 7f56a0d76adc2988a74e49fd838c41c8df5ea657 Mon Sep 17 00:00:00 2001
From: Andrey Osin <zombierzn@gmail.com>
Date: Fri, 25 Apr 2025 22:54:53 +0300
Subject: [PATCH] feat(add): POK017 (#9245)

Co-authored-by: Andrey Osin <andreyo@pushok.com>
---
 src/devices/pushok.ts | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/src/devices/pushok.ts b/src/devices/pushok.ts
index b16aa6b1fa..24e18ba671 100644
--- a/src/devices/pushok.ts
+++ b/src/devices/pushok.ts
@@ -372,4 +372,36 @@ export const definitions: DefinitionWithExtend[] = [
         ],
         ota: true,
     },
+    {
+        zigbeeModel: ["POK017"],
+        model: "POK017",
+        vendor: "PushOk Hardware",
+        description: "Battery powered greenhouse vent",
+        extend: [
+            m.windowCovering({controls: ["lift"], coverInverted: false, stateSource: "lift", configureReporting: false, coverMode: false}),
+            m.battery({percentage: true, voltage: true, lowStatus: false, percentageReporting: false}),
+            m.enumLookup({
+                name: "thermostat_preset",
+
+                lookup: {off: 0, level_1: 1, level_2: 2, level_3: 3, level_4: 4, level_5: 5, level_6: 6, level_7: 7, level_8: 8, level_9: 9},
+                cluster: "genMultistateOutput",
+                attribute: "presentValue",
+                zigbeeCommandOptions: {},
+                description: "Heat sensitivity level for automatic vent opening",
+                access: "ALL",
+                reporting: null,
+            }),
+            m.enumLookup({
+                name: "status",
+                lookup: {off: 0, on: 1, moving: 2, stuck: 3, middle: 4},
+                cluster: "genMultistateInput",
+                attribute: "presentValue",
+                zigbeeCommandOptions: {},
+                description: "Actual window status",
+                access: "STATE_GET",
+                reporting: null,
+            }),
+        ],
+        ota: true,
+    },
 ];
-- 
GitLab