NEWS
ioBroker-Windows Steuerung
-
@liv-in-sky bei mir klappt es aber auf anderen Rechnern
Ich kann aber auch nochmal die exe erstellen. -
@felixcrafter83 wenn ich zeit habe nehme ich auch mal einen anderen rechner
-
habe genau die selbe meldung auf meinem laptop
-
@felixcrafter83 wäre doch sicherlich sinnvoll einen eigenen Beitrag zu eröffnen !
-
@djmarc75 hast du mal getestet ?
-
@liv-in-sky sagte in Windows Steuerung:
hast du mal getestet ?
noch nicht. mal morgen schauen ob ich da Lust zu habe
-
ich hab das mal abgespalten und mit einem Arbeitstitel versehen.
@FelixCrafter83 könntest du bitte den Titel sinnvoll gestalten?
soll der Thread dann vielleicht besser in die Tester-Kategorie?
-
@homoran was meinst du mit Titel?
Ich bin sehr neu hier im Forum. -
@felixcrafter83 sagte in Message-Client:
was meinst du mit Titel?
Das hier:
Das kannst Du ändern, wenn Du Deinen Eingangspost bearbeitest. -
@codierknecht vielen Dank
-
Lässt sich mit deinem Tool auch Abfragen, welche Applikationen oder Prozesse auf dem Windows System gerade laufen ?
Beste Grüße
-
@qlink ist theoretisch möglich, ich kann es ja Mal versuchen.
Hat denn schon jemand mein Tool ausprobiert?
-
noch nicht, ich würde aber GetAdmin gerne ersetzen, falls dein Tool alle notwendigen Features abdeckt, wie eben z.B. die Abfrage ob chrome.exe läuft ...
-
@qlink die abfrage ob z.bsp chrome läuft gibt es jetzt, zusätzlich gibt es jetzt auch die hotkeys senden option
-
Kann Message Client auch "DisplayOn" und "DisplayOff" als Befehl verarbeiten ?
Wenn ja wie würde das gehen ?Kannst du mir auch kurz erklären, wie du die Steuerung aus iobroker umgesetzt hast ?
Mit Blockly ? Kannst du hier eventuell ein Beispielscript herzeigen ?Danke und beste Grüße
-
@qlink So die Befehle sind nun impementiert.
https://github.com/felixcrafter54/message-client/releases/tag/v1.7Ich versuche jetzt mal ein Blockly zu basteln
-
@felixcrafter83 hier mal ein einfaches Blockly
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="KJ`(],L1vH}H^)otDRqm">host</variable> <variable id="TjJSy2#L3OUQDiT~:I97">json</variable> <variable id="uo$)0f5gD`Gm=HjjOwa`">username</variable> <variable id="h33;DbV.1JTf?hPM3#_4">password</variable> <variable id="ty4I6t;`3g2@Qo^cIGQS">type</variable> <variable id="zkcwi`_:P|Y-H+w!P0U3">payload</variable> </variables> <block type="procedures_defcustomreturn" id="Z54Pq[qn:vy8Fw}n3A9]" x="388" y="163"> <mutation statements="false"> <arg name="type" varid="ty4I6t;`3g2@Qo^cIGQS"></arg> <arg name="payload" varid="zkcwi`_:P|Y-H+w!P0U3"></arg> </mutation> <field name="NAME">json_generator</field> <field name="SCRIPT">anNvbiA9IEpTT04uc3RyaW5naWZ5KHsNCiAgICB0eXBlIDogdHlwZSwNCiAgICBwYXlsb2FkIDogcGF5bG9hZA0KfSkNCg0KcmV0dXJuIGpzb247</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="H!?tgvif0E3`u4B,w{e1" x="363" y="213"> <mutation statements="false"> <arg name="host" varid="KJ`(],L1vH}H^)otDRqm"></arg> <arg name="json" varid="TjJSy2#L3OUQDiT~:I97"></arg> <arg name="username" varid="uo$)0f5gD`Gm=HjjOwa`"></arg> <arg name="password" varid="h33;DbV.1JTf?hPM3#_4"></arg> </mutation> <field name="NAME">request</field> <field name="SCRIPT">cmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKA0KICAgIChyZXNvbHZlLCByZWplY3QpID0+IHsNCiAgICAgICAgcmVxdWlyZSgicmVxdWVzdCIpKCJodHRwOi8vIiArIGhvc3QgKyAiOjgwODAvIiwgew0KICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsDQogICAgICAgICAgICBib2R5OiBqc29uLA0KICAgICAgICAgICAgaGVhZGVyczogew0KICAgICAgICAgICAgICAgICJBdXRob3JpemF0aW9uIjogYEJhc2ljICR7QnVmZmVyLmZyb20oYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCkudG9TdHJpbmcoImJhc2U2NCIpfWAsDQogICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoIjoganNvbi5sZW5ndGgsDQogICAgICAgICAgICAgICAgIkNvbnRlbnQtVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIg0KICAgICAgICAgICAgfSANCiAgICAgICAgfSkub24oImRhdGEiLCAocmVzcG9uc2UpID0+IHsNCiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UudG9TdHJpbmcoKSkNCiAgICAgICAgfSkub24oImVycm9yIiwgKGVycm9yKSA9PiByZWplY3QoZXJyb3IpICk7DQogICAgfQ0KKQ==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="debug" id="ePOz,x@MKz1g)2wigSnN" x="288" y="288"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="hS%`zO#~k-4MXX-FEeAC"> <field name="TEXT">test</field> </shadow> <block type="procedures_callcustomreturn" id="^*Az[{MYOMj2uz*YnE6?"> <mutation name="request"> <arg name="host"></arg> <arg name="json"></arg> <arg name="username"></arg> <arg name="password"></arg> </mutation> <value name="ARG0"> <block type="text" id="nJ6}9CO8#+E6Lv=*u!v`"> <field name="TEXT"></field> </block> </value> <value name="ARG1"> <block type="procedures_callcustomreturn" id="3$aWe1!t,IpxVZUMK;r,"> <mutation name="json_generator"> <arg name="type"></arg> <arg name="payload"></arg> </mutation> <value name="ARG0"> <block type="text" id="~Ib61]lS,~^qe~T~r=SI"> <field name="TEXT">message</field> </block> </value> <value name="ARG1"> <block type="text" id="eS2f]eyhtAoXXuoXAu|1"> <field name="TEXT">Test</field> </block> </value> </block> </value> <value name="ARG2"> <block type="text" id="_{#_8d{.GWj)J01tCv5}"> <field name="TEXT"></field> </block> </value> <value name="ARG3"> <block type="text" id="{([:tjE/NL/gn(Qr0e]5"> <field name="TEXT"></field> </block> </value> </block> </value> </block> </xml>
-
Vielen Dank fürs implementieren!
Ich verstehe leider nur Bahnhof bei deinem Blockly, kannst du mir erklären wie das gedacht ist, bzw. was welcher Bauteil macht ?
Aktuell verwende ich ja noch getadmin, das ich aber ablösen möchte.
Mein Blockly für getadmin sieht z.B. so aus:
In dem Teil schicke, sobald eine Bewegung erkannt wird mit dem Befehl: http://192.168.30.21:8585?key=F15 einen Tastendruck der Taste F15 an das Windows System, damit der Bildschirm angeht...
Nur damit du verstehst wie ich das bisher gelöst habe...
Beste Grüße
-
Um auf deine erste Frage drauf einzugehen:
Ich persönlich benutze nicht mehr so viel Blockly, außer meiner alten Skripte.
Ich nutze schon seit längeren nur noch Node-Red.
Da würde man dann die http request node nehmen.So ich habe dein Blockly etwas nachgebaut und den request Block durch meinen erstellten Block ersetzt.
Da der Message-Client immer etwas zurücksendet, wie zum Beispiel:
Systemfunction executing
bei einer Systemfunktion, hat der Block request eine Ausgabe, die man in einer Variable, hier Antwort, speichern kann.
Mein Block hat auch gewisse Eingabevariablen.
Außer json müsste eigentlich alles selbsterklärend sein.
Bei Json muss nämlich das in dieser Form eingeben werden:{"type":"hotkey","payload":"F15"}
Mit dem json_generator kann man direkt auf die Werte zugreifen um den Typ (Modus) und den Payload (Inhalt) zu setzten.
Dann wird daraus dieser String erzeugt und er muss nicht eingegeben werden.So würde das Beispiel aussehen, wenn man die screen_on Funktion nutzt:
Ich hoffe ich konnte dir hiermit weiterhelfen.
Um noch die anderen Funktionen des Message-Client zu sehen, kannst du dir die readme auf Github ansehen.Hier das neue Beispiel Blockly:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="ty4I6t;`3g2@Qo^cIGQS">type</variable> <variable id="zkcwi`_:P|Y-H+w!P0U3">payload</variable> <variable id="KJ`(],L1vH}H^)otDRqm">host</variable> <variable id="TjJSy2#L3OUQDiT~:I97">json</variable> <variable id="uo$)0f5gD`Gm=HjjOwa`">username</variable> <variable id="h33;DbV.1JTf?hPM3#_4">password</variable> <variable id="05cyd~/fXw)wYrY_9`j6">Antwort</variable> </variables> <block type="procedures_defcustomreturn" id="Z54Pq[qn:vy8Fw}n3A9]" x="613" y="63"> <mutation statements="false"> <arg name="type" varid="ty4I6t;`3g2@Qo^cIGQS"></arg> <arg name="payload" varid="zkcwi`_:P|Y-H+w!P0U3"></arg> </mutation> <field name="NAME">json_generator</field> <field name="SCRIPT">anNvbiA9IEpTT04uc3RyaW5naWZ5KHsNCiAgICB0eXBlIDogdHlwZSwNCiAgICBwYXlsb2FkIDogcGF5bG9hZA0KfSkNCg0KcmV0dXJuIGpzb247</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="H!?tgvif0E3`u4B,w{e1" x="588" y="113"> <mutation statements="false"> <arg name="host" varid="KJ`(],L1vH}H^)otDRqm"></arg> <arg name="json" varid="TjJSy2#L3OUQDiT~:I97"></arg> <arg name="username" varid="uo$)0f5gD`Gm=HjjOwa`"></arg> <arg name="password" varid="h33;DbV.1JTf?hPM3#_4"></arg> </mutation> <field name="NAME">request</field> <field name="SCRIPT">cmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKA0KICAgIChyZXNvbHZlLCByZWplY3QpID0+IHsNCiAgICAgICAgcmVxdWlyZSgicmVxdWVzdCIpKCJodHRwOi8vIiArIGhvc3QgKyAiOjgwODAvIiwgew0KICAgICAgICAgICAgbWV0aG9kOiAiUE9TVCIsDQogICAgICAgICAgICBib2R5OiBqc29uLA0KICAgICAgICAgICAgaGVhZGVyczogew0KICAgICAgICAgICAgICAgICJBdXRob3JpemF0aW9uIjogYEJhc2ljICR7QnVmZmVyLmZyb20oYCR7dXNlcm5hbWV9OiR7cGFzc3dvcmR9YCkudG9TdHJpbmcoImJhc2U2NCIpfWAsDQogICAgICAgICAgICAgICAgIkNvbnRlbnQtTGVuZ3RoIjoganNvbi5sZW5ndGgsDQogICAgICAgICAgICAgICAgIkNvbnRlbnQtVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIg0KICAgICAgICAgICAgfSANCiAgICAgICAgfSkub24oImRhdGEiLCAocmVzcG9uc2UpID0+IHsNCiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UudG9TdHJpbmcoKSkNCiAgICAgICAgfSkub24oImVycm9yIiwgKGVycm9yKSA9PiByZWplY3QoZXJyb3IpICk7DQogICAgfQ0KKQ==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="YqU71]Z+:=wA)?51:4%)" x="138" y="188"> <field name="VAR" id="05cyd~/fXw)wYrY_9`j6">Antwort</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="C.@%1r4Dd)jcPQSno:Sr"> <mutation name="request"> <arg name="host"></arg> <arg name="json"></arg> <arg name="username"></arg> <arg name="password"></arg> </mutation> <value name="ARG0"> <block type="text" id="[Rls=Dv(tX[~?,{I@=S{"> <field name="TEXT"></field> </block> </value> <value name="ARG1"> <block type="procedures_callcustomreturn" id="%Jw---e/=/1p{vro~gUm"> <mutation name="json_generator"> <arg name="type"></arg> <arg name="payload"></arg> </mutation> <value name="ARG0"> <block type="text" id="0%`5Ivayw4`)7fHe]/=/"> <field name="TEXT">systemfunction</field> </block> </value> <value name="ARG1"> <block type="text" id="dh{WIfs1!eh`gC[LExVD"> <field name="TEXT">screen_on</field> </block> </value> </block> </value> <value name="ARG2"> <block type="text" id="uufN7iZ[`pZzC=_jH+AS"> <field name="TEXT"></field> </block> </value> <value name="ARG3"> <block type="text" id="82y)t{xcd!]EG?A-ts8?"> <field name="TEXT"></field> </block> </value> </block> </value> </block> </xml>
-
Vielen Dank für das Beispiel.
Screen Off and On funktioniert super damit !3 Fragen für weiterführende Sachen mit Message Client:
- Ich bekomme immer folgende Warnung im Log wegen des requests Blocks:
javascript.0 13:54:00.020 warn script.js.Tablet_OG.EZKU-Bewegung-aus: request package is deprecated - please use httpGet (or a stable lib like axios) instead!
Würde das Ganze auch mit einem httpGet Block funktionieren und falls ja, kannst du mir ein Beispiel geben ?
Kannst du mir ein Blockly Beispiel geben wie ich prüfen kann ob z.B. chrome.exe aktiv ist und wie ich die response vom client z.B. in eine Variable schreiben kann zum weiterverarbeiten ?
Kannst du mir ein Blockly Beispiel geben wie ich z.B. eine .bat Datei oder eine Verknüpfung am Desktop mit Message Client starten kann ?
Beste Grüße