[APP][Pro] SmartThings Samjin

Getting Samjin devices with the Zigbee protokoll in the Homey. Currently under development.

1 Like

Thanks Mathias!

I have quite a few Samjin devices left over from SmartThings days and am looking forward to using them.

Will you be adding other devices such as the older contact sensors, smart plugs, motion sensors etc?

Regards,

I will gladly help add more devices. If you can pair the device to Homey as just Zigbee, then go to https://tools.developer.homey.app. To the left, look at Zigbee. A new panel will open on the device in the list. There are dots. Choose to interview; this takes a long time, a few minutes and a pop-up with the data I need. Then, a photo of the front and back of the device and a brief note on known capabilities. ok?

Thanks Mathias for such a quick reply. I’ll try to dig out my devices over this weekend and pair them the next weekend. Once I have the information, I’ll share them!

Cheers,

Benny

How is it going? Where you able to get some data on the devices?

Hi Mathias,

Having some trouble with the devices I dug out. Sorry I don’t quite know how to format the interview data that I received, but here it is. If someone could kindly explain how I should format the interview text, I will edit this post.

"ids": {
    "modelId": "3200-Sgb",
    "manufacturerName": "CentraLite"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 256,
        "applicationDeviceVersion": 0,
        "_reserved1": 0,
        "inputClusters": [
          0,
          3,
          4,
          5,
          6,
          2820,
          2821
        ],
        "outputClusters": [
          25
        ]
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "zclVersion",
                "value": 1,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 32,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 255,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "name": "stackVersion",
                "value": 2,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 32,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 255,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 3,
                "name": "hwVersion",
                "value": 3,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 32,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 255,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 4,
                "name": "manufacturerName",
                "value": "CentraLite",
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 66,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 5,
                "name": "modelId",
                "value": "3200-Sgb",
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 66,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "status": "SUCCESS"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": [
              "factoryReset"
            ]
          },
          "identify": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 0,
                "name": "identifyTime",
                "value": 0,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 33,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 65535,
                  "status": "SUCCESS"
                }
              }
            ],
            "commandsGenerated": [
              "identifyQuery.response"
            ],
            "commandsReceived": [
              "identify",
              "identifyQuery"
            ]
          },
          "groups": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "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",
                  "reportable"
                ],
                "id": 0
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 3
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 4
              }
            ],
            "commandsGenerated": [
              0,
              1,
              2,
              3,
              4,
              6
            ],
            "commandsReceived": [
              0,
              1,
              2,
              3,
              4,
              5,
              6
            ]
          },
          "onOff": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "onOff",
                "value": true,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 16,
                  "minInterval": 1,
                  "maxInterval": 300,
                  "status": "SUCCESS"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": [
              "setOff",
              "setOn",
              "toggle"
            ]
          },
          "electricalMeasurement": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "measurementType",
                "value": {
                  "type": "Buffer",
                  "data": [
                    1,
                    0,
                    0,
                    0
                  ]
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 768,
                "name": "acFrequency",
                "value": 50
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1285,
                "name": "rmsVoltage",
                "value": 240
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1288,
                "name": "rmsCurrent",
                "value": 3
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1291,
                "name": "activePower",
                "value": 3
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          },
          "diagnostics": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 33,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 65535,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 256,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 35,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 4294967295,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 257,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 35,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 4294967295,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 258,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 35,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 4294967295,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 259,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 35,
                  "minInterval": 65535,
                  "maxInterval": 65535,
                  "minChange": 4294967295,
                  "status": "SUCCESS"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          }
        },
        "bindings": {
          "ota": {
            "attributes": [],
            "commandsGenerated": [],
            "commandsReceived": []
          }
        }
      }
    }
  }


It seems that these SmartThings Smartplugs are not samjin.

I’m still pulling out the other Smartthings devices.

Great I start looking into this.

You can test, Im not sure it will work, but lets start with paring.

Hi Mathias!

The smart plug pairs great! It was identified correctly and I can see all the flow cards.

However, it seems to be missing capability listener: On/Off.


Please let me know what other information I can provide for you.

I will loook in to what I have missed. Im busy this weekend so likely Monday next time I can dig in to the code.

I just released a new version for you to test

Thanks Mathias!

Tried the Smartthings smart plug again. Does not work yet. Still missing capability listener: On/Off.

Also tried it by restarting the app after installing 1.04. Did not work.

Also tried it by removing the device, wait a while, re-paired it back to homey. Also did not work.

Is there any other information or test I can do? Please let me know and I will try it.

Thanks!

Hi Mathias,

I dug out more smartthings devices today. Here is a water leak sensor interview data that I managed to pull out. It is currently paired as an unknown zigbee device

  "ids": {
    "modelId": "moisturev4",
    "manufacturerName": "SmartThings"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 1026,
        "applicationDeviceVersion": 0,
        "_reserved1": 0,
        "inputClusters": [
          0,
          1,
          3,
          15,
          32,
          1026,
          1280
        ],
        "outputClusters": [
          25
        ]
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "zclVersion",
                "value": 1,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "appVersion",
                "value": 27,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 4,
                "name": "manufacturerName",
                "value": "SmartThings",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 5,
                "name": "modelId",
                "value": "moisturev4",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 7,
                "name": "powerSource",
                "value": "unknown",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": [
              "factoryReset"
            ]
          },
          "powerConfiguration": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 32,
                "name": "batteryVoltage",
                "value": 27,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          },
          "identify": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 0,
                "name": "identifyTime",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [
              "identifyQuery.response"
            ],
            "commandsReceived": [
              "identify",
              "identifyQuery"
            ]
          },
          "binaryInput": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 81,
                "name": "outOfService",
                "value": false,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 85,
                "name": "presentValue",
                "value": false,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 111,
                "name": "statusFlags",
                "value": {
                  "type": "Buffer",
                  "data": [
                    0
                  ]
                },
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          },
          "pollControl": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 0,
                "name": "checkInInterval",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "longPollInterval",
                "value": 28,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "name": "shortPollInterval",
                "value": 1,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 3,
                "name": "fastPollTimeout",
                "value": 40,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [
              0
            ],
            "commandsReceived": [
              0,
              "fastPollStop",
              "setLongPollInterval",
              "setShortPollInterval"
            ]
          },
          "temperatureMeasurement": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "measuredValue",
                "value": 2878,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "minMeasuredValue",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "name": "maxMeasuredValue",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [],
            "commandsReceived": []
          },
          "iasZone": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "zoneState",
                "value": "notEnrolled",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "zoneType",
                "value": "standardCIE",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "name": "zoneStatus",
                "value": {
                  "type": "Buffer",
                  "data": [
                    32,
                    0
                  ]
                },
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 16,
                "name": "iasCIEAddress",
                "value": "00:12:4b:00:18:3e:1b:fc",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 17,
                "name": "zoneId",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": [
              "zoneEnrollResponse",
              "initiateNormalOperationMode"
            ],
            "commandsReceived": [
              "zoneEnrollResponse"
            ]
          }
        },
        "bindings": {
          "ota": {
            "attributes": [],
            "commandsGenerated": [],
            "commandsReceived": []
          }
        }
      }
    }
  }


I cannot see Samjin in the interview data. It only says SmartThings.

Not uncommon SmartThings has both their own but also 3rd party devices under SmartThings brand. I will look into this

Just posted a new test version 1.05 that should have your weather leak sensor