Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI testing #17

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
5 changes: 5 additions & 0 deletions .mocharc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"require": [
"./test/mocha.setup.js"
]
}
9 changes: 5 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,21 @@ os:
- windows
language: node_js
node_js:
- '6'
- '8'
- '10'
- '12'
- '14'
- '16'
before_script:
- export NPMVERSION=$(echo "$($(which npm) -v)"|cut -c1)
- 'if [[ $NPMVERSION == 5 ]]; then npm install -g npm@5; fi'
- npm -v
- npm install [email protected]
- 'npm install https://github.com/ioBroker/ioBroker.js-controller/tarball/master --production'
env:
- CXX=g++-4.9
- CXX=g++-6
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
- g++-6
50 changes: 2 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,51 +2,5 @@
# iobroker.pjlink
![Number of Installations](http://iobroker.live/badges/pjlink-installed.svg) ![Number of Installations](http://iobroker.live/badges/pjlink-stable.svg) This adapter controls any PJLink compatible projector or display with ioBroker.

PJLink is an unified standard for operating and controlling data projectors and displays. The protocol enables central control of certain devices, manufactured by different vendors. The protocol is used by NEC, Casio, Seiko, Sony, Panasonic, Hitachi, Mitsubishi, Ricoh, Vivitek and even more. Please consult the device manual to check compatibility.

## Current shortcomings
- Error Handling is not implemented right now. If an unknown parameter is entered or if the device is not accessible using TCP/IP, an error will be shown in the ioBroker Log. In one of the future versions, the device errorcodes will be analyzed and translated.
- Lighting hours are given for one (the first) lamp, even if PJLink supports several lamps. If somebody have a proper device, please contact me for testing.
- The device is not pushing information using the PJLink protocol. Therefore, the adapter will pull certain information frequently (see
polling interval). Do not reduce the polling interval <10 sec. because the device needs up to 2 sec. to answer and the script will query several paramters.
- All dialogs are in English as for now, DE and RU are in progress. Further translations on demand.

## ToDo
- Implementing a table to translate input ID to name of the port (like 31 = HDMI1)
- Supporting PJLink Class 2 protocol

## How the adapter works
The adapter consists by three elements:
- Admin interface to define device specific parameters (admin/index.html)
- JavaScript module for device communication, based on PJLink protocol (utils/pjlink.js)
- Main script (main.js)

The Main script works in four steps:
1) Doing some initial configuration like creating ioBroker objects
2) Starring the first communication with the device and asking for the current parameters
3) Waiting for a state change like switching the input source or turning power off
4) Executing the change with the device
Please be aware, that the communication with the projector is not possible if the projector is in standby with power saving feature enabled. Therefore, it will not be possible to turn the project on using this adapter. To do so, disable the power saving feature using the projector configuration (Menu > Settings...).

## Changelog
### 0.1.2 (2019/05/11)
- fixed some minor bugs

### 0.1.1 (2018/02/11)
- errorhandling implemented (somekind of...)

### 0.1.0 (2017/12/31)
- first public flight (beta)

### 0.0.5 (2017/12/26)
- bugfixing

### 0.0.3 (2017/12/23)
- build admin interface
- build translate table

### 0.0.2 (2017/12/18)
- redesign some timings (what / when)

### 0.0.1
- Inital version
This version is outdated - don't use it!
Please go to PJLinkV2: https://github.com/oberstel/ioBroker.PJLinkV2.git
6 changes: 3 additions & 3 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
version: 'test-{build}'
environment:
matrix:
- nodejs_version: '6'
- nodejs_version: '8'
- nodejs_version: '10'
- nodejs_version: '12'
- nodejs_version: '14'
- nodejs_version: '16'
platform:
- x86
- x64
Expand Down
Loading