Zen Thermostat Support/App

Zen Thermostat - ZigBee Edition.
Pairs via Homey ZigBee app as basic ZigBee device.

Is there any support for it or easy way to add it?

Interview


  "ids": {
    "modelId": "Zen-01",
    "manufacturerName": "Zen Within"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 769,
        "applicationDeviceVersion": 0,
        "_reserved1": 0,
        "inputClusters": [
          0,
          1,
          3,
          4,
          5,
          32,
          513,
          514,
          516,
          2821
        ],
        "outputClusters": [
          10,
          25
        ]
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "zclVersion",
                "value": 1
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1,
                "name": "appVersion",
                "value": 19
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2,
                "name": "stackVersion",
                "value": 2
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3,
                "name": "hwVersion",
                "value": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4,
                "name": "manufacturerName",
                "value": "Zen Within"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 5,
                "name": "modelId",
                "value": "Zen-01"
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 7,
                "name": "powerSource"
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": [
              "factoryReset"
            ]
          },
          "powerConfiguration": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 32,
                "name": "batteryVoltage",
                "value": 62,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 49,
                "name": "batterySize",
                "value": "AA"
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 51,
                "name": "batteryQuantity",
                "value": 4
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 53
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 54,
                "name": "batteryVoltageMinThreshold",
                "value": 36
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 55
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 56
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 57
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 62,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          },
          "identify": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 0
              }
            ],
            "commandsGenerated": [
              0
            ],
            "commandsReceived": [
              0,
              1
            ]
          },
          "groups": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0,
                "name": "nameSupport",
                "value": {
                  "type": "Buffer",
                  "data": [
                    0
                  ]
                }
              }
            ],
            "commandsGenerated": [
              "addGroup.response",
              "viewGroup.response",
              "getGroupMembership.response",
              "removeGroup.response"
            ],
            "commandsReceived": [
              "addGroup",
              "viewGroup",
              "getGroupMembership",
              "removeGroup",
              "removeAllGroups",
              "addGroupIfIdentify"
            ]
          },
          "scenes": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 1
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 2
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4
              }
            ],
            "commandsGenerated": [
              0,
              1,
              2,
              3,
              4,
              6
            ],
            "commandsReceived": [
              0,
              1,
              2,
              3,
              4,
              5,
              6
            ]
          },
          "pollControl": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 3,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 5
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 6
              }
            ],
            "commandsGenerated": [
              0
            ],
            "commandsReceived": [
              0,
              1,
              2,
              3
            ]
          },
          "thermostat": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "localTemperature",
                "value": 2800,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 3,
                "name": "absMinHeatSetpointLimit",
                "value": 400
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 4,
                "name": "absMaxHeatSetpointLimit",
                "value": 3730
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 5,
                "name": "absMinCoolSetpointLimit",
                "value": 400
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 6,
                "name": "absMaxCoolSetpointLimit",
                "value": 3730
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 16,
                "name": "localTemperatureCalibration",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 17,
                "name": "occupiedCoolingSetpoint",
                "value": 2600,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 18,
                "name": "occupiedHeatingSetpoint",
                "value": 2200,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 21,
                "name": "minHeatSetpointLimit",
                "value": 400
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 22,
                "name": "maxHeatSetpointLimit",
                "value": 3730
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": [
              "setSetpoint"
            ]
          },
          "fanControl": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable"
                ],
                "id": 1
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          },
          "diagnostics": {
            "attributes": [
              {
                "acl": [
                  "readable"
                ],
                "id": 283
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 284
              },
              {
                "acl": [
                  "readable"
                ],
                "id": 285
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          }
        },
        "bindings": {
          "time": {},
          "ota": {}
        }
      }
    }
  }

I can’t find an app for it, so I don’t think there is.

No, you’ll need an app that supports it.

Thanks @robertklep

How easy would it be to take the foundations of another ZigBee thermostat app/driver and edit the mappings?

Anyone know of other apps with ZigBee thermostat devices?

Nice clean square touch device with room temperature displayed on touch and cool, warm and custom options swipe up, down, left and right