Go to file
Kuba Wolanin 485c18de6b
Release 0.3.0 (#51)
* Preparations for release 0.3.0

Signed-off-by: Kuba Wolanin <jakub.wolanin@sabre.com>

* Preparations for release 0.3.0

Signed-off-by: Kuba Wolanin <jakub.wolanin@sabre.com>
2017-11-15 09:08:26 +01:00
.vscode openHAB VS Code extension - Initial contribution (#1) 2017-06-19 08:09:32 +02:00
fileicons Icon Theme (#21) 2017-07-03 20:52:50 +02:00
images Updated logo icons. Closes #36 (#37) 2017-10-15 16:18:36 +02:00
project-orga Added CONTRIBUTING, generate-authors and minor tweaks (#13) 2017-06-20 07:38:54 +02:00
resources Things Explorer - Initial contribution (#49) 2017-11-12 20:57:24 +01:00
snippets Updates for the 0.2.0 release (#39) 2017-10-20 19:18:16 +02:00
src Release 0.3.0 (#51) 2017-11-15 09:08:26 +01:00
syntaxes Things Explorer - Initial contribution (#49) 2017-11-12 20:57:24 +01:00
.gitignore Items Explorer view - Initial contribution (#20) 2017-07-07 12:58:40 +02:00
.pullapprove.yml Update .pullapprove.yml 2017-07-10 09:41:03 +02:00
.vscodeignore Added CONTRIBUTING, generate-authors and minor tweaks (#13) 2017-06-20 07:38:54 +02:00
AUTHORS Items Explorer view - Initial contribution (#20) 2017-07-07 12:58:40 +02:00
CHANGELOG.md Release 0.3.0 (#51) 2017-11-15 09:08:26 +01:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-07-08 09:13:21 +02:00
ISSUE_TEMPLATE.md Added CONTRIBUTING, generate-authors and minor tweaks (#13) 2017-06-20 07:38:54 +02:00
LICENSE Initial commit 2017-06-18 22:05:59 +02:00
README.md added lspPort configuration parameter (#43) 2017-10-27 12:45:52 +02:00
language-configuration.json openHAB VS Code extension - Initial contribution (#1) 2017-06-19 08:09:32 +02:00
openhab.png Updates for the 0.2.0 release (#39) 2017-10-20 19:18:16 +02:00
package-lock.json Release 0.3.0 (#51) 2017-11-15 09:08:26 +01:00
package.json Release 0.3.0 (#51) 2017-11-15 09:08:26 +01:00
tsconfig.json Added functionality to open openHAB Preview on MacOS based systems (#14) 2017-06-21 14:36:38 +02:00
tslint.json Language Server Protocol support (#31) 2017-10-17 20:04:14 +02:00

README.md

openHAB VS Code Extension

openHAB is a vendor and techology agnostic open source automation software for your home. This Visual Studio Code extension allows you to work with openHAB configuration files (like *.items, *.rules, *.sitemap and *.script) thanks to the syntax highlighting, code snippets and integrated search.

The extension is designed with openHAB 2.x in mind - most snippets and design patterns will work in openHAB 2.x

Features

  • Code snippets for openHAB, including Design Patterns by Rich Koshak
  • Syntax highlighting for the openHAB DSL (rules, items, scripts and sitemaps).
  • Integrated quick search of openHAB Docs page (Alt + Shift + O)
  • Integrated quick search of openHAB Community
  • Integrated Basic UI browser window (Ctrl + Alt + O or editor title icon)
  • Integration with openHAB REST API
  • List of all Items accessible from the tree view
  • Code completions
  • Language Server Protocol support

openHAB2 code snippets

integrated search engine

Configuration

You are able to configure the hostname and port for the Sitemap preview.

  • openhab.host (mandatory), default: openhabianpi
  • openhab.port (optional), default: 8080

openhab.host will also work with the IP address of your openHAB instance, instead of the hostname.

These settings should work fine on Windows machines and openHAB installations using the recommended openHABian setup. They should be edited if you use macOS or *NIX systems or manual openHAB installations.

To edit these settings, simply add overrides to either your user settings or your workspace settings in your Visual Studio Codes preferences.

For further informations on how to change your settings, visit the official Visual Studio Code docs.

Configuration example (local)

{
	"openhab.host": "localhost",
	"openhab.port": 80
}

Configuration example (macOS)

{
	"openhab.host": "openhabianpi.local",
	"openhab.port": 8080
}

Integration with openHAB REST API

This VSCode extension connects to the openHAB REST API by default. The connection is used to display list of Items in the left side tree view. It's also utilized for code completions.

If you're using this extension just for the syntax highlighting and don't want to involve the REST API, you can disable it by providing the following parameter in your User Settings (Ctrl + Shift + S):

"openhab.useRestApi": false

You may need to reload the VSCode window to take effect.

Validating the Rules

This extension comes with Language Server Protocol support. Language servers allow you to add your own validation logic to files open in VS Code. openHAB from version openHAB 2.2.0 Build #1065 (SNAPSHOT) has the Language Server exposed on 5007 port. In order to enable this feature in VSCode, please make sure that misc-lsp (Misc / Language Server Support) add-on is installed on your openHAB instance.

In the unlikely case that your language server is running on a port other than the default one this is how it can be changed in the configuration:

{
	"openhab.lspPort": 5007
}

Sitemap preview with Basic UI

openHAB VS Code Extension allows you to preview the sitemap structure in the Basic UI running on your openHAB server instance.

If you have a sitemap file active in your editor and open Basic UI (Ctrl + Alt + O or editor title icon), you'll land directly on the sitemap you're working on.

Intelligent sitemap preview

You need to have openHAB server running in order to preview changes. The extension assumes that you access your openHAB config files from either:

Samba share (e.g. \\OPENHABIANPI\openHAB-conf\) Local folder (e.g. c:\openhab\configuration)

Known Issues

Check out existing issues in the repository.

Release Notes

See CHANGELOG.md file for the details.


For More Information

Enjoy!