Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
Acgua committed Mar 27, 2023
1 parent 7273abb commit 328b85b
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 21 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

This adapter controls your [Fully Kiosk Browser](https://www.fully-kiosk.com) (a Plus License is required). It provides you with a bunch of possibilites to control your tablet through ioBroker, like turning the display on/off, launch any tablet app, launch the screensaver etc. Also, it provides various information in states, like battery level of your tablet, etc. which you can use e.g. for Visualization.

Unlike [ioBroker.fullybrowser](https://github.com/arteck/ioBroker.fullybrowser), this adapter also supports **MQTT**.
Unlike [ioBroker.fullybrowser](https://github.com/arteck/ioBroker.fullybrowser), this adapter also supports und uses **MQTT**.

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion build/lib/mqtt-server.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions build/lib/mqtt-server.js.map

Large diffs are not rendered by default.

11 changes: 4 additions & 7 deletions docs/de/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

Mit diesem Adapter kann der [Fully Kiosk Browser](https://www.fully-kiosk.com) (mit Plus-Lizenz) gesteuert werden. Über die [REST API](https://www.fully-kiosk.com/en/#rest) können diverse Befehle wie "Bildschirm an/aus", "Bildschirmschoner an/aus", etc. an den Fully gesendet werden.

Zusätzlich – sofern dies in den Adapter-Optionen MQTT aktiviert ist – werden Events (wie z.B. "Bildschirm an") immer sofort an den Adapter mitgeteilt und in den entsprechenden Datenpunkten angezeigt. Außerdem sendet der Fully Browser bei aktivem [MQTT](https://www.fully-kiosk.com/en/#mqtt) sämtliche Geräteinformationen immer automatisch mindestens alle 60 Sekunden, welche entsprechend in die Info-Datenpunkte geschrieben werden. Ist MQTT deaktiviert, werden diese Infos manuell regelmäßig über die REST API abgeholt. Das Senden von Befehlen erfolgt übrigens bei aktiviertem MQTT über die REST API, da der Fully Browser das Senden über MQTT nicht unterstützt.
Außerdem werden Events (wie z.B. "Bildschirm an") immer sofort via [MQTT](https://www.fully-kiosk.com/en/#mqtt) dem Adapter mitgeteilt und in den entsprechenden Datenpunkten angezeigt/gesetzt. Desweiteren sendet der Fully Browser via MQTT sämtliche Geräteinformationen immer automatisch mindestens alle 60 Sekunden, welche entsprechend in die Info-Datenpunkte geschrieben werden. Das Senden von Befehlen erfolgt übrigens über die REST API, da der Fully Browser das Senden über MQTT nicht unterstützt.

## Fully-Browser vorbereiten

Expand Down Expand Up @@ -42,20 +42,17 @@ Fully-Browser-Gerät(e), also die Tablets, auf denen der Fully-Browser läuft, e

### MQTT-Konfiguration
* **Port**: Dieselbe Portnummer wie oben in den Fullybrowser MQTT-Einstellungen verwenden (z.B. `3000`).
* **Benutzername und Passwort nicht verifizieren**: Damit kann die Überprüfung von Benutzernamen und Passwort deaktiviert werden.
* **Benutzername**: Optional
* **Passwort**: Optional
* **Benutzername und Passwort nicht verifizieren**: Damit kann die Überprüfung von Benutzernamen und Passwort deaktiviert werden.

### Experten-Einstellungen: Remote Admin (REST API)
* **Request Timeout**: Nach Anzahl dieser Millisekunden wird ein REST API Request abgebrochen, wenn nicht erfolgreich.
* **Request Interval**: Wie oft sollen die Geräte-Infos abgefragt werden (Batteriestand, u.v.m.)? Etwa 60 Sekunden sollten locker reichen, gerne auch ein höheres Intervall vergeben. *Hinweis*: Wenn MQTT aktiviert ist, wird dies ignoriert, da per MQTT automatisch mind. alle 60 Sekunden Infos empfangen werden.
* **Info-Datenpunkte immer aktualisieren**: Normalerweise werden alle Info-Datenpunkte nur dann neu gesetzt, wenn es eine Änderung gab. Ist dies aktiviert, werden diese immer aktualisiert (mit ack:true), auch wenn es keine Änderung zum vorherigen Wert gab.

### Experten-Einstellungen: MQTT
* **Publizierte Infos nicht öfter als alle x Sekunden verarbeiten**: Lt. [Fully-Dokumentation](https://www.fully-kiosk.com/en/#mqtt) werden Infos nur alle 60 Sekunden publiziert, in meinen Tests erfolgte dies aber deutlich öfter, also kann hiermit ein Limit gesetzt werden.
* **Info-Datenpunkte immer aktualisieren**: Normalerweise werden alle Info-Datenpunkte nur dann neu gesetzt, wenn es eine Änderung gab. Ist dies aktiviert, werden diese immer aktualisiert (mit ack:true), auch wenn es keine Änderung zum vorherigen Wert gab.
* **Client- und Connection-Fehler als info im Log**: Wenn aktiviert, werden Client- und Verbindungsfehler immer als Info und nicht als Error im Log ausgegeben. Dies dient dazu, das Log sauber zu halten und nicht unnötig zu füllen, nur weil sich mal kurzzeitig ein Tablet abmeldet und nach wenigen Sekunden wieder anmeldet. Längerzeitige Fehler und Warnungen werden immer im Log entsprechend angezeigt.

### Experten-Einstellungen: Remote Admin (REST API)
* **Request Timeout**: Nach Anzahl dieser Millisekunden wird ein REST API Request (also das Senden von Kommandos) abgebrochen, wenn nicht erfolgreich.

## Links

Expand Down
14 changes: 5 additions & 9 deletions docs/en/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

With this adapter the [Fully Kiosk Browser](https://www.fully-kiosk.com) (with Plus license) can be controlled. Via the [REST API](https://www.fully-kiosk.com/en/#rest) various commands like "screen on/off", "screen saver on/off", etc. can be sent to the Fully.

Additionally - if MQTT is enabled in the adapter options - events (like "screen on") are always immediately communicated to the adapter and set in the corresponding states. Furthermore, if [MQTT](https://www.fully-kiosk.com/en/#mqtt) is active, the Fully Browser always sends all device information automatically at least every 60 seconds, which are set to the accoring info states accordingly. If MQTT is disabled, this info is requested manually on a regular basis via the REST API. Please note that commands are sent via the REST API even if MQTT is enabled, since the Fully Browser does not support sending commands via MQTT.
Additionally, [MQTT](https://www.fully-kiosk.com/en/#mqtt) events (like "screen on") are always immediately communicated to the adapter and set in the corresponding states. Furthermore, the Fully Browser always sends all device information via MQTT automatically at least every 60 seconds, which are set to the info states accordingly. Please note that all commands are sent via the REST API and not MQTT, since the Fully Browser does not support sending commands via MQTT.

## Fully-Browser settings

Expand Down Expand Up @@ -38,24 +38,20 @@ Add Fully Browser device(s), i.e. the tablets running Fully Browser, accordingly
1. **Device Name**: Any name, which is also used as part of the objects/states, e.g. `Tablet Flur` becomes `fully-mqtt.0.Tablet-Flur`.
1. **Protocol**: leave `http` as it is. If `https` should be used: see notes under [Remote Admin](https://www.fully-kiosk.com/en/#remoteadmin).
1. **Remote Admin Password**: enter the password as set above.
1. **MQTT**: should be enabled to use all features of the adapter.

### MQTT Configuration
* **Port**: Use the same port number as above in the Fullybrowser MQTT settings (e.g. `3000`).
* **Do not verify user and password**: can be activated to disable username and password verification
* **User name**: optional
* **Password**: optional
* **Do not verify user and password**: can be activated to disable username and password verification

### Expert Settings: Remote Admin (REST API)
* **Request Timeout**: After this number milliseconds, REST API requests are aborted if not successful.
* **Request Interval**: How often should the device info be requested (battery level, etc.)? About 60 seconds should be enough, you can also assign a higher interval. *Note*: If MQTT is activated, this will be ignored, because MQTT automatically receives info at least every 60 seconds.
* **Always update info objects**: Normally all info sets are set/updated only if there was a change. If this option is enabled, states will always be updated (with ack:true), even if there was no change from the previous value.

### Expert Settings: MQTT
* **Do not process published info more than every x seconds**: Lt. [Fully-Dokumentation](https://www.fully-kiosk.com/en/#mqtt) werden Infos nur alle 60 Sekunden publiziert, in meinen Tests erfolgte dies aber deutlich öfter, also kann hiermit ein Limit gesetzt werden.
* **Do not process published info more than every x seconds**: Lt. [Fully-Dokumentation](https://www.fully-kiosk.com/en/#mqtt) info is published only every 60 seconds, but in my tests this happened more often, so a limit can be set with this option.
* **Always update info objects**: Normally all info sets are set/updated only if there was a change. If this option is enabled, states will always be updated (with ack:true), even if there was no change from the previous value.
* **Client and Connection errors as info in log**: If activated, client and connection errors are always output as info and not as error in the log. This serves to keep the log clean and not to fill it unnecessarily just because a tablet logs off briefly and logs on again after a few seconds. "Longer-term" errors and warnings are always displayed in the log accordingly.

### Expert Settings: Remote Admin (REST API)
* **Request Timeout**: After this number milliseconds, REST API requests (i.e. sending commands) are aborted if not successful.

## Links

Expand Down
2 changes: 1 addition & 1 deletion src/lib/mqtt-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ export class MqttServer {
}

const ipMsg = ip ? `${this.adapter.fullys[ip].name} (${ip})` : `${client.id} (IP unknown)`;
this.adapter.log.info(`[MQTT] Client ${ipMsg} trys to authenticate...`);
this.adapter.log.debug(`[MQTT] Client ${ipMsg} trys to authenticate...`);
if (ip) this.devices[client.id].ip = ip;

/**
Expand Down

0 comments on commit 328b85b

Please sign in to comment.