![homeseer api homeseer api](https://community-assets.home-assistant.io/original/3X/b/7/b74b9d69a663d5f146be61801a458c09e5636f69.png)
![homeseer api homeseer api](https://s1.manualzz.com/store/data/006916670_1-e39b55ba8f70b03f5e25263feb2c15ef.png)
In HS4, the hs object (expanded hsapplication class) is a combination of the methods and properties of both HomeSeerAPI.IHSApplication and classes. Documentation of this class can be found here. In HS4, additional functionality was introduced that is provided by the class. Documentation for these HS3 scripting capabilities are found here. In HS3, the hsapplication class provides the same functionality as the HomeSeerAPI.IHSApplication class. The hs object is instantiated from the HomeSeer hsapplication class. hs methods and properties are used to interact with the HomeSeer environment. HomeSeer provides access to the hs object for scripts. HS4 version 4.1.14.0 also adds a reference to PluginSDK.dll, so there is no longer a need to add it to the ScriptingReferences= in settings.ini. Both work the same now in both tenScripting4 and HS4 scripting. While the hs object in HS4 scripting is still of class hsapplication, and contains MOST members from IHSApplication and IHsController, the best practice is to use hs for IHSApplication members (HS3 functionality) and hs4 for IHsController members (additional HS4 functionality). This also resolves several conflicts where IHSApplication and IHsController contained the same member names and signatures. UPDATE: HS4 version 4.1.14.0 now provides an hs4 object of class IHsController, eliminating the need for tenScripting4 to replace hs4 with hs when exporting your scripts.