NEWS
[Tutorial] wioBrowser - Windows Desktop `popup messages`
-
Hallo zusammen,
ich möchte euch gerne eine nützliche Funktion vorstellen,
die im Laufe der Entwicklung des Adapters wioBrowser entstanden ist.
Der Adapter wird von @Wal entwickelt, und hier hat er ihn im Forum vorgestellt.
(für Interessierte, der Adapter ist ein Fullscreenbrowser für die Windowsoberfläche,
und befindet sich aktuell noch in der Entwicklung, quasi frisch aus dem Ofen )Kommen wir zur oben erwähnten Funktion
popup messages
.Teil 1
Funktion:
Wie es der Name schon ahnen lässt, geht es hier um einfache Meldungen,
welche aus ioBroker heraus auf dem Windows Desktop ausgegeben werden.Voraussetzung:
Die Installation ist in zwei Schritten aufgeteilt.
Einmal die Windows Installation.
Die Zip-Datei aus dem Startpost mit dem Klick auf den Link "Windows NoWeb" auf den Rechner herunterladen.
Anschließend in ein Verzeichnis entpacken (von mir empfohlenes Packprogramm 7-Zip),
und selbiges an einen beliebigen Ort ablegen. (z.B.C:\Program Files (x86)\wioNoweb
)
In dem geöffneten Ordner diewioNoweb.exe
starten.
Es erscheint eine Meldung der Firewall, ob man mit dem Zugriff, derwioNoweb.exe
, zu/von ioBroker einverstanden ist. Wir bestätigen das mit einem Ja.
Wenn man einen anderen Port (Standard 5000) einstellen möchte, muss diewioNoweb.exe
einmalig geschlossen werden.
Daraufhin wird in dem Verzeichnis, in welchem sich diewioNoweb.exe
befindet, eineconfig.ini
angelegt.
In dieser config Datei kann der Port angepasst werden.
Darauf achten, das in der Instanz "wiobrowser" der Port ebenfalls mit angepasst werden muss.
Und das war es dann auch schon auf der Windows Seite.Anmerkung
Möchte man, das der wioBrowser, nach einem Windows Neustart, automatisch geöffnet wird,
kann man eine Verknüpfung zu derwioNoweb.exe
in den Autostartordner ablegen.
Wenn der Autostart nur für den aktuellen Benutzer aktiviert werden soll,
dann die Verknüpfung in folgendem Pfad ablegen.%appdata%\Microsoft\Windows\Start Menu\Programs\Startup
Soll der Autostart für alle Benutzer gelten, dann die Verknüpfung in diesem Pfad ablegen.
%programdata%\Microsoft\Windows\Start Menu\Programs\Startup
(über die Tastenkombination "WIN+R" den Pfad eingeben, mit Enter bestätigen, und der entsprechende Ordner wird geöffnet)
Dann zu ioBroker.
Auf der Admin Oberfläche, unter dem Reiter "Adapter", nach "wioBrowser" filtern,
und den Adapter installieren.
Wenn der Adapter installiert ist, wechseln wir auf die Instanzeinstellungen des Adapters wioBrowser.
Ich werde nicht alle Einstellungsmöglichkeiten erläutern, sondern beschränke mich auf die von uns benötigten.
Bei den "CONNECTION SETTINGS" unter "URL" die Netzwerkadresse,
unter welcher euer Windowsrechner erreichbar ist, eintragen.
Anschließend mitSPEICHERN UND SCHLIESSEN
die Einstellungen Verlassen.
Für die Funktion selber reicht das schon. (Feinheiten kommen später noch )Senden wir unsere erste Nachricht auf den Desktop.
Wechseln wir zu den Objekten und suchen das Objekt "messages" unter "wiobrowser".
Hier klicken wir auf den "Wert", und bestätigen mit "WERT SETZEN".GRATULATION, die erste Nachricht von ioBroker an Windows hat ihren Weg gefunden.
Edit:
19.01.2022 Beschreibung zum Download der Zip-Datei angepasst
22.01.2022 Anmerkung zu Autostart eingefügt
26.01.2022 Windows Installation auf "Windows NoWeb" abgeändert
26.01.2022 Port Einstellung hinzugefügt
29.01.2022 Adapter ist über das Repository verfügbar -
Teil 2
Feintuning:
Folgende Information sollte man hierfür im Hinterkopf behalten.
Bei der Positionierung des Popup-Fensters darauf achten, das nach unten,
und rechts etwas Luft zum Bildschirmrand eingehalten wird.
Das Fenster ist dynamisch aufgebaut, und kann bis zu drei Nachrichten enthalten. (untereinander aufgereiht)
Die Breite passt sich, an die Länge der Nachricht, nach rechts an.
Für uns sind die beiden Reiter "STYLE" und "MESSAGES" interessant.
Unter "STYLE" befinden sich Einstellungsmöglichkeiten, die das Hauptfenster des Popup-Fensters betreffen.
(sind eigentlich selbsterklärend, doch wenn wir schon dabei sind )
"MessageFontSize"- Bestimmt die Schriftgröße des Inhalts aller Nachrichten
"WebColor"
- Damit wird die Hintergrundfarbe des Popup-Fensters eingestellt (im Format Hexadezimal)
"MessageTop"
- Abstand in Pixel zu dem oberen Bildschirmrand (Ausgangspunkt Popup-Fenster, oben links)
"MessageLeft"
- Abstand in Pixel zu dem linken Bildschirmrand (Ausgangspunkt Popup-Fenster, oben links)
Einfach an eure Vorstellungen anpassen.
Unter dem Reiter "MESSAGES" können, ich nenne es jetzt einmal Favoriten zu häufig genutzten Nachrichten, erstellt werden.
Durch hinzufügen eines Favoriten (blaues Plus), bekommen wir folgende Einstellungsmöglichkeiten."Nummerierung"
- Wird automatisch erstellt, und kann auch nicht geändert werden.
"Titel"
- Überschrift der Nachricht. (in dem Beispiel aus Teil 1 "Nachricht von ioBroker :")
"Caption"
- Der eigentliche Inhalt der Nachricht. (in dem Beispiel aus Teil 1 "Hallo")
"Time"
- Angabe in Sekunden, nach der die Nachricht auf dem Desktop verschwindet.
Bei der Angabe von0
, wird die Nachricht dauerhaft eingeblendet.
Die Nachricht kann durch einen Mausklick entfernt werden.
"Color"
- Damit wird die Hintergrundfarbe der Nachricht eingestellt (im Format Hexadezimal)
Einfach mal welche anlegen, damit ihr eine Grundlage zu Teil 3 habt.
(Favorit 4 wird später in Teil 4 angewendet)
Edit:
19.01.2022 - Beschreibung von "Time" angepasst
-
Teil 3
Anwendung:
In diesem Teil wenden wir uns den Objekten zu.
Auch hier werde ich nur auf die Objekte eingehen, welche für die Funktionpopup messages
relevant sind.
Bevor wir etwas "Spielen", kurz eine Übersicht, was die einzelnen Objekte bedeuten, bzw. bewirken.
(wie ein Wert geändert werden kann, sehe ich jetzt als Voraussetzung an)"message"
- Hier kann eine Nachricht eingegeben werden, wenn nötig auch mit Zeilenumbruch
(einfachEnter
bei der Eingabe des Textes drücken)
"messagenumber"
- Über dieses Objekt können die jeweiligen Favoriten der Nachrichten aufgerufen werden.
"messagestyle"
- Durch dieses Objekt wird festgelegt, welchen Style die Nachricht haben soll,
welche man unter "message" absetzt.
OK, lasst uns etwas "Spielen"
In Teil 2 hatten wir ja schon ein paar Favoriten angelegt.
Favorit 1 hat die Hintergrundfarbe GreenYellow (#ADFF2F
),
und Favorit 2 die Hintergrundfarbe Silver (#C0C0C0
).
Angenommen wir möchten eine Nachricht mit der Hintergrundfarbe Silver absetzen.
Dann ändern wir zuerst den Wert bei "messagestyle" auf2
.
Und im Anschluss setzen wir die Nachricht unter "message" ab.
Angenommen wir möchten eine Nachricht mit der Hintergrundfarbe GreenYellow absetzen.
Dann ändern wir zuerst den Wert bei "messagestyle" auf1
.
Und im Anschluss setzen wir die Nachricht unter "message" ab.
Ich denke das Prinzip ist verstanden.
Folgende Einstellungen der Favoriten werden bei "messagestyle" berücksichtigt.
Titel
,Time
undColor
. - Hier kann eine Nachricht eingegeben werden, wenn nötig auch mit Zeilenumbruch
-
Teil 4
Automatik:
Folgendes Szenario, wir sitzen vor dem Rechner, und haben kein Telefon in der Nähe,
bzw. bekommen es nicht mit wenn das Telefon klingelt.
Damit wir auf dem Desktop eine Nachricht, mit dem Inhalt, auf welcher Rufnummer wird angerufen,
zu welchem Zeitpunkt und von wem, erhalten, hab ich euch ein kleines Beispiel in Blockly erstellt.Voraussetzung, für diese Beispiel, sind ein installierter "TR-064" Adapter,
und selbstverständlich die in Teil 1-3 eingerichtete Umgebung.
(wie immer, gilt auch hier, ihr müsst das Blockly an eure Umgebung anpassen)Was macht dieses Blockly nun?
Es wartet auf einen externen Anruf, und reagiert folgendermaßen darauf, wenn ein Anruf ankommt.
Zuerst wird der vorhandene Wert unter "messagestyle" in eine Variable (messagestyle
) geschrieben,
und die Variable (calleetext
) zurückgesetzt.
Anschließend wird geprüft, auf welcher Anschlussrufnummer der externe Anruf ankommt.
Dementsprechend, wird diese Nummer dann in der Variablecalleetext
durch einen Text ersetzt.
Dann wird der gewünschte "messagestyle" an das Objekt übergeben.
(in dem Fall mit4
, da wir ja in Teil 2 einen entsprechenden Favorit angelegt haben,
jetzt wird vielleicht klarer, warum der Favorit unter "Caption" keinen Eintrag enthält)
Der an dieser Stelle eingefügte Timer ist notwendig, da sonst der "messagestyle" noch nicht gesetzt ist,
bevor die Nachricht gesendet wird.
Jetzt fängt die eigentliche Zusammenstellung der Nachricht an.
Wir haben uns ja weiter vorne schon darauf geeinigt, wie die Nachricht aussehen soll.
Also wird der Text aus folgenden Parametern zusammengesetzt.
Zuerst die Variablecalleetext
mit abschließendem Zeilenumbruch.
Dann der Zeitstempel aus dem Objekt "tr-064.0.callmonitor.inbound.timestamp",
wieder mit abschließendem Zeilenumbruch.
Damit die zwei Werte von "tr-064.0.callmonitor.inbound.caller" und "tr-064.0.callmonitor.inbound.callerName"
in einer Zeile erscheinen, wird noch einmal ein Text im Text erstellt, welcher die Werte mit Leerzeichen als Trenner einsetzt.
Mit diesem komplett zusammengesetzten Text, wird das Objekt "wiobrowser.0.messages.message" angesteuert.
Zum Schluss noch das Objekt "wiobrowser.0.messages.messagestyle" mit der Variablemessagestyle
,
welche am Anfang des Blockly gespeichert wurde, ansteuern.Hier noch das Ergebnis, wie es bei euch aussehen könnte
Schlusswort:
Ich hoffe, es hat euch einigermaßen Spaß gemacht, mit mir durch dieses Tutorial zu gehen.
Solltet ihr Kritik, Anregungen oder anderweitige Vorschläge haben, dann gerne her damit.
(Schreibfehler dürft ihr behalten, die schenke ich euch )Großer Dank gebührt Walter ( @Wal )
Er hat diese Funktion (Stand: 18.01.2022), welche nicht eingeplant war, innerhalb einer Woche umgesetzt.
Wer ihn unterstützen möchte, hier noch einmal der Link zu seinem Thread.Ansonsten wünsche ich euch allen eine angenehme Zeit
Gruß, Karsten -
Wow, genau was ich immer gesucht habe.
Du überforderst mich grad, kam noch nicht mal dazu das NC Script zu installieren, jetzt sowas.Super, danke.
Frage: Wenn es installiert wird, werden die Popups dann jedem Benutzer des PCs angezeigt?
Ich bin wg. teilweise HO oft mit einem anderen Benutzer angemeldet, der nur eingeschränkt Rechte hat (von mir so eingestellt). Dann noch Benutzer Frau und manchmal Kids. -
@csr
Nachrichten werden auf den Rechner gesendet, welcher bei ioBroker unter den Einstellungen angegeben ist.
Und dieWioBrowser.exe
muss ja auch gestartet sein.
Wie es sich verhält, wenn ein Benutzer angemeldet ist, bei dem die Nachrichten erscheinen sollen,
und dann ein Benutzerwechsel vollzogen wird, hab ich nicht getestet.
Das bleibt jetzt dir überlassen
Kann es mir nicht vorstellen, das dies Benutzerübergreifend funktioniert, aber wer weiß. -
@csr ,
wenn du das Teil in den Autostart schiebst und bei jedem Windowsstart automatisch starten lässt, könnte ich mir gut vorstellen das das funktioniert. -
@wal
Ja so hätte ich es vor.hätte, hätte, gebt mir Zeit am PC , hier Schreiben geht fast immer, aber am PC sitzen leider nicht so.
-
@wal sagte in [Tutorial] wioBrowser - Windows Desktop `popup messages`:
@csr ,
wenn du das Teil in den Autostart schiebst und bei jedem Windowsstart automatisch starten lässt, könnte ich mir gut vorstellen das das funktioniert.Es wird nicht Terminalserver bzw. Multiuser-fähig sein das ja der Port in der
Config.ini
festgelegt ist und die erste gestartete Instanz sich diesen krallt. Solange nur ein Benutzer es pro Rechner startet sollte es kein Problem geben. -
@bananajoe ,
wenn ich das als Admin in den Taskmanager Autostart mache, müsste es doch für alle User gelten, oder ? -
bin mir nicht zu 100% sicher, doch ich meine das es zwei Arten von Autostartordnern gibt.
Einen für den aktuellen Benutzer, und einen Systemübergreifend.
Muss noch einmal nachschauen. -
@wal sagte in [Tutorial] wioBrowser - Windows Desktop `popup messages`:
@bananajoe ,
wenn ich das als Admin in den Taskmanager Autostart mache, müsste es doch für alle User gelten, oder ?Öhm, den Weg bin ich noch nie gegangen ...
Für alle Benutzer müsste es dieser Ordner sein:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
würde auch gehen. Also dort eine Verknüpfung reinlegen
-
Über den Taskmanager Autostart geht es nicht, eben probiert.
Mal die von @BananaJoe testen. -
Gefunden
Hier steht es zum Nachlesen.
Autostart-Ordner für den angemeldeten Nutzer
%appdata%\Microsoft\Windows\Start Menu\Programs\Startup
Autostart-Ordner für alle Benutzer
%programdata%\Microsoft\Windows\Start Menu\Programs\Startup
Einfach eine Verknüpfung zu
WioBrowser.exe
dort (je nachdem was man möchte) reinlegen. -
Funktioniert einwandfrei, danke dir für das Tutorial