NEWS
Windows11 - Wert aus iobroker in Taskleiste
-
@david-g Neues Beispiel
-
@codierknecht sagte in Windows11 - Wert aus iobroker in Taskleiste:
Dabei fällt mir auf: Das Tool sollte per Parameter auch so gestartet werden können, dass (bei vorhander Einstellungsdatei) der Dialog nicht angezeigt wird.
Ist im aktuellen Binary ergänzt.
Wenn man jetzt mindestens 1x erfolgreich gestartet hat, kann man bei zukünftigen Aufrufen den Parameter "skip" mitgeben.
Dann unterbleibt die Anzeige des Dialogs. -
@MCU
Frage am Rande: Wie machst Du das technisch?
Wird der Windows-Client registriert und dann an den vom ioBroker aktiv eine Nachricht gesendet?
Oder fragt der Windows-Client in regelmäßigen Intervallen den ioBroker ab? -
@codierknecht
Ist ein Node-Http-Server erklär ich alles detailliert. Man muss den einmal in der Firewall freischalten und eine exe starten.Wer Lust hat kann sich dann seinen eigenen Port aussuchen, oder es anders nutzen, usw.
Bin aber noch bei Details, die noch nicht so klappen, wie gewünscht.
Das hängt mit einigen Fehler innerhalb von BurntToast zusammen und PowerShell-Besonderheiten.Grundsätzlich muss man alles was man sehen möchte in ioBroker definieren.
Da ist man mit javscript, dann offen, die DPs (in Abhängigkeit , aufgrund der Einschränkungen von BurntToast) zu setzen und die als Notification zu senden.EDIT:
Hier eine Variante um unterschiedliche DPs setzen zu können in einer bestimmten Situation
(Hier aufgrund der Einschränkungnen von BurntToast ohne Icons und Images)Fällt noch jemand Fälle ein, die man damit abgebildet haben möchte?
- Adapter, die man berücksichtigen sollte , denn normalerweise holt man die Beschreibung vom DP aus dem Objekt zum DP, teilweise sind die richtigen Texte aber eine Ebene höher
- Beispiel Fälle, die erklärt werden sollen
- javascript Funktionen für bestimmte Fälle
Wenn, dann, wenn möglich, jetzt biite.
-
@mcu
Habe ich was überlesen? Wo kann ich das runterladen und testen -
@mcu
Mit nativem Delphi sind die Möglichkeiten für Toast-Nachrichten deutlich eingeschränkt -
@liv-in-sky Nein, mache gerade die Doku fertig.
EDIT:
So ich habe jetzt mal die Doku soweit zusammengeschrieben. Ich hoffe, dass man damit klar kommt.
Ist wirklich viel Stoff. Bei Problemen melden.https://mcuiobroker.gitbook.io/iobroker-tipps/tipps/allgemein/microsoft-windows/burnttoast
-
machst du evtl einen neuen thread auf ?
habe nur kurz zeit, wollte aber mal schnell testen - funktioniert soweit - tausend dank für's teilen
werde sicher noch weitere tests machen
-
@mcu kurze frage:
kann ich powershell so starten, dass es minimiert ist
mir fällt da nircmd ein - also powershell autostarten und deine app öffnet sich dann in einem weiteren tab - denkst du das geht ?
-
@liv-in-sky Powershell muss nicht gestartet werden nur für die Installation. Die App (exe) muss gestartet sein mehr nicht.
-
@mcu wenn ich notify2.exe aufrufe, startet powershell
-
@liv-in-sky Das ist der Node-Server, Ja?
-
@mcu ich weiß - aber das fenster ist offen - ich würde es gerne versteckt oder minimiert haben - automatisch
-
@liv-in-sky Muss ich schauen wie das geht?
-
@mcu bitte noch neuen thread - sind beides tolle projekte - würde ich trennen
-
-
Ich bin gerade dabei, das Ganze noch ein bisschen zu erweitern.
Die Möglichkeiten der Toast-Nachrichten sind zwar deutlich eingeschränkt, aber immerhin besser als nix.Solche Nachrichten lassen sich jetzt gezielt vom ioBroker aus per Blockly/JavaScript an den Windows-Client senden.
Dazu startet das Tool auf Wunsch einen eigenen Webserver und horcht (noch fix) auf den Port 8090.Die Benachrichtigung wird dann vom ioBroker aktiv gesendet.
Die kleine Hilfsfunktion dient lediglich dazu, den Text korrekt zu codieren.
Den Port werde ich noch wählbar machen und mir einen Weg ausdenken, mit dem auch ein beliebiger Titel übergeben werden kann.
Mein Dank geht an @MCU für die Idee mit den Toast-Nachrichten.
-
@codierknecht
Kann man die DP-Inhalte formatieren. Neue Zeile Tabulator?Test \nDiese ist ein Test \nDP1 \t 12 \nDP2 \t 15
In der Verwaltung
-
@mcu
Wenn Du Zeilenumbrüche und sonstige Sonderzeichen URL-codierst, sollte das passen. -
So, der aktuelle Stand kann jetzt auch einen beliebigen Port verwenden (Firewall nicht vergessen).
Mit ein wenig JavaScript sende ich jetzt wichtige Nachrichten an meinen Windows-Client
const url = 'http://192.168.178.137:8090/toastMessage'; // UrlEncode message text function urlEncode(text) { return encodeURI(text); } function sendNotification(title, body) { let uri = url; uri += '?title=' + urlEncode(title); uri += '&body=' + urlEncode(body); console.log(uri); try { require("request")(uri).on("error", (e) => { console.error(e); }); } catch (e) { console.warn(e); } } on({id:'alias.0.vis.klingel', change:"gt"}, function () { sendNotification('Nachricht vom ioBroker', 'Es hat geklingelt!'); });