Upgrade CI Markdown checks (#2497)
* Upgrade CI Markdown checks - Use tcort/github-action-markdown-link-check instead of deprecated gaurav-nelson/github-action-markdown-link-check. - Pin actions to SHA version to mitigate possible supply chain attacks. - Consolidate markdown checks into a single workflow. Signed-off-by: Florian Hotze <dev@florianhotze.com> * Comment out broken link check as it was previously disabled Signed-off-by: Florian Hotze <dev@florianhotze.com> * Adjust markdownlint config for new version Signed-off-by: Florian Hotze <dev@florianhotze.com> * Fix markdownlint Signed-off-by: Florian Hotze <dev@florianhotze.com> --------- Signed-off-by: Florian Hotze <dev@florianhotze.com>pull/2505/head^2
parent
c8da430ff6
commit
d9612cd7de
|
@ -2,14 +2,14 @@ default: true
|
|||
|
||||
# Expect dash usage for unorderd lists
|
||||
MD004:
|
||||
style: dash
|
||||
style: dash
|
||||
|
||||
# Allow long line lengths
|
||||
MD013: false
|
||||
|
||||
# Allow duplicate headers for different nesting
|
||||
MD024:
|
||||
allow_different_nesting: true
|
||||
siblings_only: true
|
||||
|
||||
# Allow Multiple top level headers in the same document
|
||||
MD025: false
|
||||
|
@ -17,19 +17,19 @@ MD025: false
|
|||
# Allow trailing punctuation in headers
|
||||
MD026: false
|
||||
MD029:
|
||||
style: one
|
||||
style: one
|
||||
|
||||
# Allow inline HTML
|
||||
MD033: false
|
||||
|
||||
# Code block style
|
||||
MD046:
|
||||
style: fenced
|
||||
style: fenced
|
||||
|
||||
# Emphasiszis in underscore
|
||||
MD049:
|
||||
style: underscore
|
||||
style: underscore
|
||||
|
||||
# Strong in asterisk
|
||||
MD050:
|
||||
style: asterisk
|
||||
style: asterisk
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
name: Check for broken links
|
||||
|
||||
# https://github.blog/2020-08-03-github-actions-improvements-for-fork-and-pull-request-workflows/
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
|
||||
markdown-link-check:
|
||||
|
||||
name: Check for broken links
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@v1
|
|
@ -0,0 +1,40 @@
|
|||
name: Check Markdown For Errors
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags-ignore:
|
||||
- '**'
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
markdownlint:
|
||||
name: markdownlint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# pinning to SHA to mitigate possible supply chain attack
|
||||
- name: Run markdownlint-cli
|
||||
uses: nosborn/github-action-markdown-cli@58bcfd1af530d87a13d51b76e6713b52602e3613 # v3.4.0
|
||||
with:
|
||||
files: .
|
||||
config_file: ".github/.markdownlint.yaml"
|
||||
|
||||
# markdown-link-check:
|
||||
# name: Broken Links Check
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout repository
|
||||
# uses: actions/checkout@v4
|
||||
#
|
||||
# # pinning to SHA to mitigate possible supply chain attack
|
||||
# - name: Check for broken links
|
||||
# uses: tcort/github-action-markdown-link-check@a800ad5f1c35bf61987946fd31c15726a1c9f2ba # v1.1.0
|
||||
# with:
|
||||
# use-quiet-mode: 'yes' # only show errors in output
|
||||
# use-verbose-mode: 'yes' # show detailed HTTP status for checked links
|
|
@ -1,33 +0,0 @@
|
|||
name: Checking Markdown For Errors
|
||||
|
||||
# https://github.blog/2020-08-03-github-actions-improvements-for-fork-and-pull-request-workflows/
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- 2.5.x
|
||||
tags-ignore:
|
||||
- '**'
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
types:
|
||||
- open
|
||||
- synchronize
|
||||
- reopen
|
||||
|
||||
jobs:
|
||||
markdownlint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Run markdownlint-cli
|
||||
uses: nosborn/github-action-markdown-cli@v3
|
||||
with:
|
||||
files: .
|
||||
config_file: ".github/.markdownlint.yaml"
|
|
@ -74,13 +74,13 @@ Usage: openhab:send <item> <command> - sends a command for an item
|
|||
|
||||
### Links
|
||||
|
||||
| Command | Description |
|
||||
|---------------------------------------------------------|----------------------------------------------------------------------------------|
|
||||
| `openhab:links list` | lists all links |
|
||||
| `openhab:links link <itemName> <channelUID>` | links an item with to channel |
|
||||
| `openhab:links unlink <itemName> <thingUID>` | unlinks an item with to channel |
|
||||
| `openhab:links clear` | removes all managed links |
|
||||
| `openhab:links orphan <list|purge>` | lists/purges all orphaned - one missing element (either item or channel) - links |
|
||||
| Command | Description |
|
||||
|----------------------------------------------|----------------------------------------------------------------------------------|
|
||||
| `openhab:links list` | lists all links |
|
||||
| `openhab:links link <itemName> <channelUID>` | links an item with to channel |
|
||||
| `openhab:links unlink <itemName> <thingUID>` | unlinks an item with to channel |
|
||||
| `openhab:links clear` | removes all managed links |
|
||||
| `openhab:links orphan <list\|purge>` | lists/purges all orphaned - one missing element (either item or channel) - links |
|
||||
|
||||
### Audio
|
||||
|
||||
|
|
|
@ -308,6 +308,7 @@ If there is no `dayset-weekend` defined, calls to `isWeekend` will generate erro
|
|||
Config file location: `$OH_CONF/services/ephemeris.cfg`.
|
||||
|
||||
Fields:
|
||||
|
||||
Field | Description
|
||||
-|-
|
||||
`country` | Country to use to get the built in list of bank holidays, uses the standard two letter country code.
|
||||
|
|
|
@ -3,6 +3,7 @@ layout: documentation
|
|||
title: Rules Blockly
|
||||
---
|
||||
<!-- markdownlint-disable MD036 -->
|
||||
<!-- markdownlint-disable MD039 -->
|
||||
|
||||
# Blockly Reference
|
||||
|
||||
|
|
|
@ -424,6 +424,7 @@ The default icon will be used for negative numbers, or above 100 i.e. the availa
|
|||
Dimmer type Items work in the same way, being limited to 0-100 anyway.
|
||||
|
||||
For a dimmable light (0-100%), you might provide icons as in the example:
|
||||
|
||||
| File name | Description |
|
||||
| ----------------- | ---------------------------------------------------- |
|
||||
| `mydimmer.svg` | Default icon (used in undefined states) |
|
||||
|
|
|
@ -533,100 +533,128 @@ All parameters are Strings.
|
|||
Read the JSR223 language specific documentation for examples of using these `TriggerType` objects.
|
||||
|
||||
::: details timer.DateTimeTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ---------- | ---------------------- |
|
||||
|------------|------------------------|
|
||||
| `itemName` | The name of the `Item` |
|
||||
|
||||
:::
|
||||
|
||||
::: details timer.GenericCronTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ---------------- | ------------------- |
|
||||
|------------------|---------------------|
|
||||
| `cronExpression` | The cron expression |
|
||||
|
||||
:::
|
||||
|
||||
::: details timer.TimeOfDayTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| --------- | -------------------------- |
|
||||
|-----------|----------------------------|
|
||||
| `time` | The time in "hh:mm" format |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.ItemCommandTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ---------- | ------------------------ |
|
||||
|------------|--------------------------|
|
||||
| `itemName` | The name of the `Item` |
|
||||
| `command` | The `Command` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.ItemStateUpdateTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ---------- | ---------------------- |
|
||||
|------------|------------------------|
|
||||
| `itemName` | The name of the `Item` |
|
||||
| `state` | The `State` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.ItemStateChangeTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| --------------- | ------------------------------- |
|
||||
|-----------------|---------------------------------|
|
||||
| `itemName` | The name of the `Item` |
|
||||
| `previousState` | The previous `State` (optional) |
|
||||
| `state` | The `State` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.GroupCommandTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ----------- | --------------------------- |
|
||||
|-------------|-----------------------------|
|
||||
| `groupName` | The name of the `GroupItem` |
|
||||
| `command` | The `Command` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.GroupStateUpdateTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ----------- | --------------------------- |
|
||||
|-------------|-----------------------------|
|
||||
| `groupName` | The name of the `GroupItem` |
|
||||
| `state` | The `State` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.GroupStateChangeTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| --------------- | ------------------------------- |
|
||||
|-----------------|---------------------------------|
|
||||
| `groupName` | The name of the `GroupItem` |
|
||||
| `previousState` | The previous `State` (optional) |
|
||||
| `state` | The `State` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.ThingStatusUpdateTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ---------- | ---------------------------- |
|
||||
|------------|------------------------------|
|
||||
| `thingUID` | The `thingUID` |
|
||||
| `status` | The `ThingStatus` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.ThingStatusChangeTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ---------------- | ------------------------------------- |
|
||||
|------------------|---------------------------------------|
|
||||
| `thingUID` | The `thingUID` |
|
||||
| `previousStatus` | The previous `ThingStatus` (optional) |
|
||||
| `status` | The `ThingStatus` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.ChannelEventTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ------------ | ---------------------------------------- |
|
||||
|--------------|------------------------------------------|
|
||||
| `channelUID` | The `ChannelUID` of the `Channel` |
|
||||
| `event` | The `Channel` trigger `Event` (optional) |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.GenericEventTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `topic` | The topic to match, as a file-system style glob (*, **, ?, and {} operators).<br><br>Example filters:<br>Item events: "openhab/items/\*/"<br>Channel events: "openhab/channels/\*/triggered"<br>Thing events: "openhab/things/\*\*" |
|
||||
| `source` | The object that triggered the event, such as `org.openhab.core.expire` |
|
||||
| `types` | `ItemCommandEvent`, `ItemStateEvent`, `ItemStateChangedEvent`, `GroupItemStateChangedEvent`, `ItemAddedEvent`, `ItemRemovedEvent`, `ThingAddedEvent`, `ThingRemovedEvent`, `ThingStatusInfoChangedEvent`, `ThingStatusInfoEvent`, `ThingUpdatedEvent`, etc. A non-exhaustive list can be found [in the Javadocs](https://www.openhab.org/javadoc/latest/org/openhab/core/events/event). |
|
||||
| `payload` | Regex to match against the actual event data. |
|
||||
|
||||
:::
|
||||
|
||||
::: details core.SystemStartlevelTrigger
|
||||
|
||||
| Parameter | Description |
|
||||
| ------------ | ----------------------- |
|
||||
|--------------|-------------------------|
|
||||
| `startlevel` | The system `StartLevel` |
|
||||
|
||||
:::
|
||||
|
|
|
@ -93,12 +93,12 @@ It consists of bundles that implement all add-on services from the OSGi specific
|
|||
Some of the core bundles are listed in the table below.
|
||||
Some or all of these bundles must be included in your runtime configuration, if you want to use the services that they provide.
|
||||
|
||||
Name | Bundle Symbolic Name | Description
|
||||
-------- | -------- | --------
|
||||
Declarative Services | org.eclipse.equinox.ds | An implementation of the OSGi [Declarative Services](osgids.html) specification
|
||||
Event Admin Service | org.eclipse.equinox.event | OSGi Compendium Release 8 [Event Admin](https://osgi.org/javadoc/osgi.cmpn/8.0.0/org/osgi/service/event/EventAdmin.html) Service provides an inter-bundle communication mechanism based on an event publish and subscribe model
|
||||
Equinox Utilities | org.eclipse.equinox.util | A library of utility classes that are frequently used from the Equinox OSGi Service implementation bundles
|
||||
OSGi Services API | org.eclipse.osgi.service | This bundle contains the set of OSGi specified service APIs
|
||||
| Name | Bundle Symbolic Name | Description |
|
||||
|----------------------|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| Declarative Services | org.eclipse.equinox.ds | An implementation of the OSGi [Declarative Services](osgids.html) specification |
|
||||
| Event Admin Service | org.eclipse.equinox.event | OSGi Compendium Release 8 [Event Admin](https://osgi.org/javadoc/osgi.cmpn/8.0.0/org/osgi/service/event/EventAdmin.html) Service provides an inter-bundle communication mechanism based on an event publish and subscribe model |
|
||||
| Equinox Utilities | org.eclipse.equinox.util | A library of utility classes that are frequently used from the Equinox OSGi Service implementation bundles |
|
||||
| OSGi Services API | org.eclipse.osgi.service | This bundle contains the set of OSGi specified service APIs |
|
||||
|
||||
Table 2. OSGi Bundles (Full list can be found at: <https://www.eclipse.org/equinox/bundles/>)
|
||||
|
||||
|
|
|
@ -206,10 +206,10 @@ A component goes through several states in his lifecycle:
|
|||
- **REGISTERED** - temporary state. Only *delayed- components go through this state;
|
||||
- **ACTIVE** - the component is active and component instance is created.
|
||||
|
||||
<img src="images/immediatecomponent.png" width="320" height="200" />
|
||||
<img src="images/immediatecomponent.png" alt="Delayed component lifecycle" width="320" height="200" />
|
||||
Fig.1 Immediate component lifecycle
|
||||
|
||||
<img src="images/delayedcomponent.png" width="400" height="200" />
|
||||
<img src="images/delayedcomponent.png" alt="Delayed component lifecycle" width="400" height="200" />
|
||||
Fig.2 Delayed component lifecycle
|
||||
|
||||
### States
|
||||
|
|
|
@ -18,7 +18,7 @@ h1.welcome {
|
|||
}
|
||||
</style>
|
||||
|
||||
<img src="/openhab-logo-square.svg" width="150" height="150" class="intro-logo" />
|
||||
<img src="/openhab-logo-square.svg" width="150" height="150" class="intro-logo" alt="openHAB logo" />
|
||||
|
||||
<h1 class="welcome">Welcome!</h1>
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ Currently, the supported commands are:
|
|||
To leave out a parameter, leave a colon space empty, e.g. `notification:$text:$title:::$closeTimeout`.
|
||||
|
||||
For example, send `notification:This is the text.:This is the title.:This is the subtitle.:This is the right title.` to the UI command Item to display the following notification:
|
||||
<p align="center"><img style="max-width: 40%;" src="images/notification.png"/></p>
|
||||
<p align="center"><img style="max-width: 40%;" src="images/notification.png" alt="notification"/></p>
|
||||
- `close`:
|
||||
Close all popups, popovers and sheets.
|
||||
- `back`:
|
||||
|
|
|
@ -48,12 +48,12 @@ Every openHAB deployment is unique.
|
|||
Consequently, every administrator of an openHAB instance will need to create a custom interface for the users of their bespoke home automation system.
|
||||
openHAB provides a number of options to support this in addition to MainUI Pages.
|
||||
|
||||
Interface | Purpose | How the UI is Defined | Notes
|
||||
-|-|-|-
|
||||
[Pages]({{base}}/ui/index.html) | Built into MainUI. Allows for a rich set of options to present your home automation. | Can be built automatically through the semantic model as well as customized which includes [Layout Pages]({{base}}/ui/layout-pages.html), [Map Pages]({{base}}/ui/map-pages.html), [Floorplan Pages]({{base}}/ui/floorplan-pages.html), [Tabbed Pages]({{base}}/ui/tabbed-pages.html) and [Chart Pages]({{base}}/ui/chart-pages.html).
|
||||
[Sitemaps]({{base}}/ui/sitemaps.html) | A simple declaritive way to define a simple user interface | Created using .sitemap files or through MainUI. | Used by BasicUI and the phone apps by default.
|
||||
[HABPanel]({{base}}/ui/habpanel/habpanel.html) | UI designed for fixed wall mounted tablets and similar touch screen displays using a blocks interface (e.g. the Windows 10 start menu) with a lot of customization options. | Built graphically though the browser. A number of custom widgets are defined and installable.
|
||||
[HABot]({{base}}/ui/habot/) | Provides a basic chatbot interface to interact with your home automation through natural langauge. | Requires the configuration of the semantic model.
|
||||
| Interface | Purpose | How the UI is Defined | Notes |
|
||||
|------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------|
|
||||
| [Pages]({{base}}/ui/index.html) | Built into MainUI. Allows for a rich set of options to present your home automation. | Can be built automatically through the semantic model as well as customized which includes [Layout Pages]({{base}}/ui/layout-pages.html), [Map Pages]({{base}}/ui/map-pages.html), [Floorplan Pages]({{base}}/ui/floorplan-pages.html), [Tabbed Pages]({{base}}/ui/tabbed-pages.html) and [Chart Pages]({{base}}/ui/chart-pages.html). | |
|
||||
| [Sitemaps]({{base}}/ui/sitemaps.html) | A simple declaritive way to define a simple user interface | Created using .sitemap files or through MainUI. | Used by BasicUI and the phone apps by default. |
|
||||
| [HABPanel]({{base}}/ui/habpanel/habpanel.html) | UI designed for fixed wall mounted tablets and similar touch screen displays using a blocks interface (e.g. the Windows 10 start menu) with a lot of customization options. | Built graphically though the browser. A number of custom widgets are defined and installable. | |
|
||||
| [HABot]({{base}}/ui/habot/) | Provides a basic chatbot interface to interact with your home automation through natural langauge. | Requires the configuration of the semantic model. | |
|
||||
|
||||
Once installed, any non-Pages UI can be accessed in the "Other Apps" menu that pops up when clicking on the square icon in the upper right corner of the MainUI Overview page (the first page you see when first accessing openHAB).
|
||||
|
||||
|
|
Loading…
Reference in New Issue