NEWS
Windows11 - Wert aus iobroker in Taskleiste
-
@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!'); });
-
Erledigt
-
Hallo,
das Tool ist super. Ich starte das Tool per Autostart gleich beim Start vom PC und nutze den Parameter "skip". Das funktioniert einwandfrei.
Allerdings habe ich ein kleines Problem. Die Daten werden nur einmal aktualisiert. Wenn ich über "Show" eine Änderung vornehme und diese bestätige, werden die Änderungen permanent aktualisert dargestellt.
Als ich den Parameter "Skip" noch nicht verwendet hatte, trat dieser Effekt nicht auf, weill ggf ich ja auch da auf "OK" zwangsweise gehen musste.
Kann das noch einmal bitte geprüft werden?
Und noch eine Frage. Ist es möglich, die Ressourcendatei extern zu lagern (also nicht in die EXE kompiliert)?
Ro75.