NEWS
Test Adapter Windows-Control v0.1.x GitHub
-
Hallo,
ich benutze den Adapter bisher schon erfolgreich um einzelne Tasten an meine Windows Maschine zu senden.
Jetz möchte ich meinen Primärmonitor in bestimmten Situationen abschalten. Dafür habe ich dieses Tool. Die CLI Befehle funktionieren unter Windows, ich verstehe aber nicht wie ich Get Admin dazu bringe die Befehle per CLI im Ordner der .exe auszuführen.
Bitte um Hilfe! -
Achtung - Frage von @Rushmed wird hier behandelt: https://forum.iobroker.net/post/432946
-
Hallo, seit kurzem bekomme ich keine Verbindung zwischen ioBroker und GetAdmin. Es hat ca. 4 Monate funktioniert. ioBroker läuft unter Linux auf Proxmox.
Die 197 ist mein Vis-PC. Kommandos habe ich keine konfiguriert, da mir poweroff, genügt, den Rest habe ich anders geregelt. Hat jemand eine Idee? Im Adapter wird angezeigt der connection status "false".
Vielen Dank!
-
@Matten Hat die Windows Kiste n Update gemacht und vielleicht GetAdmin.exe geblockt in der Firewall?
-
@ilovegym Update ja, und Du hattest recht. Danke!!!
-
Hat jemand befehle für das EIN/Aus vom Monitor ? Da gibt es ja paar lösungen aber bisher hab ich keine gefunden die auch funktioniert hat. Das "Aufwachen" ist da etwas schwer bei meinem Acer Windows Tablet.
-
@ChrisXY Ich benutze dafür ControlMyMonitor mit den Befehlen:
/SetValue "\\.\DISPLAY1\Monitor0" D6 1
für Monitor ein und:
/SetValue "\\.\DISPLAY1\Monitor0" D6 5
für Monitor aus.
Das funzt prima.
-
@Rushmed schade meins wird wohl nicht unterstüzt. Aber Soundview tool is auch top zufällig gefunden dort.
-
Mit PHP auf dem Windows-Rechner:
In der PHP-Datei dann "exec("powercfg /X monitor-timeout-ac 1");" 1= 1 Minute (man geht) , 20 = 20 Minuten (man kommt)
Diese Datei liegt auf dem Windows-Rechner!
Dort ist ein PHP -Server installiert, den man über ioBroker ansprechen kann.z.B.: C:....\PHP-SQL\BILDSCHIRM_ABSCHALTUNG_PC_EINSTELLEN.php
<?php //$Param1 = $_GET['Param1']; //notwendig für direkte Eingabe per https $Param1 = $_POST['MIN']; //notwenidig für Eingabe per Script iobroker if ($_POST['MIN'] == "") //STANDARD, falls Wert leer { $Param1 = 20; } if ($Param1 == 1) { //1 MINUTEN ABSCHALTUNG exec("powercfg /X monitor-timeout-ac 1"); // powercfg -h on/off (Ruhezustand auch möglich) } if ($Param1 == 20) { exec("powercfg /X monitor-timeout-ac 20"); // Falls INFO an ioBroker weitergeben werden soll // $iobrokertext = "Monitor-timeout-auf-20-gesetzt"; // $test2 = file_get_contents("http://192.168.X.X:8087/set/javascript.0.HAUS.ALEXA.AKTUELL_SPEAK?value=". $iobrokertext ."&prettyprint"); } ?>
In ioBroker:
EXEC mit:
curl --data "MIN=1" http://192.168.X.X/PHP-SQL/BILDSCHIRM_ABSCHALTUNG_PC_EINSTELLEN.php --user UserWIN_PC:PW_USERPC -
Ich hätte mich heute an deinem Adapter versucht und entsprechend mein Script angepasst bzgl. der Prozessabfragen.
Aber irgendwie will das nicht so richtig ...
Hab ich die Funktion des Adapters falsch verstanden oder einen Fehler im Script ?Hier mein Script welches alle 3min die Prozesse überprüft:
und hier mein Script welches das Display einschaltet und ggfs. Chrome startet, falls es noch nicht läuft.
Das Problem ist, dass das Display nicht wieder ausgeschaltet wird, also schätze ich liegt der Fehler wo im ersten Script ...
Auch der Datenpunkt chromeprocess bleibt immer auf false, obwohl chrome läuft und eine manuelle Abfrage per Browser ein true ergibt. Also schätze ich das ich wohl auch einen Fehler in der Übernahme der Prozessstati vom Adapter in die process Datenpunkte habe ...Bitte um Unterstützung.
Beste Grüße
-
@Qlink
Sorry, aber ich kann hier keinen Blockly-Support geben, zumal ich Blockly noch nie verstanden habe Bitte frage erst mal am besten hier: https://forum.iobroker.net/category/94/blockly -
im unterem script - tausche alle aktualisieren mit steuern aus
und was ich nicht verstehe - du überprüfst die service zeitversetzt - rufst aber gleichzeitig die datenpunkte ab und wertest sie aus - im if block - du brauchst da eine zeitverzögerung der ganze falls block sollte erst nach 25 sekunden abgefragt werden
im oberen script werden alle 3 minuten dtenpunkte abgefragt - dann eine minute gewartet und dann gesteuert - wenn etwas in dieser minute verändert wird, wird die abfrage falsch sein, weil sie ja eine minute alt ist
-
@liv-in-sky danke dass du einspringst
-
@Qlink
Mir ist aufgefallen, dass bei Aktualisiere "chromeprocess" keine Verzögerung von 1 Sekunden aktiviert wurde.
Ist vielleicht notwendig?
Bei den anderen wurde immer 1 Sekunde verzögert! -
Danke für eure Inputs.
Ich habs jetzt mal wie folgt abgeändert:
Hab ich alles richtig verstanden ?
Beste Grüße
-
vom ablauf sieht es jetzt besser aus - die logik selbst bin ich nicht durchgegangen - funktioniert es ?
-
hmm noch nicht so richtig, aber schon besser...
das display aktiviert sich bei bewegung und schaltet sich jetzt nach einer gewissen zeit auch wieder ab...
soweit so gut, aber ...
chromeprocess bleibt immer auf false, obwohl chrome läuft und eine manuelle getadmin abfrage per browser true liefert
und ich bekomme keinen log eintrag wenn sich das display abschaltet... da sollte ja "kein programm aktiv aber display läuft" "display aus" kommen
es kommt auch kein log eintrag "chrome nicht aktiv -> starte chrome" und chrome wird auch nicht von selbst gestartet:im log erscheint:
windows-control.0 2020-09-26 10:37:29.355 warn (6876) TabletOG responds with unexpected status code [500] javascript.0 2020-09-26 10:37:09.314 info (3088) script.js.Tablet_OG.Tablet_OG_vismain_V6: display ein weil bewegung, kaminfeuer oder aquarium gestartet
-
@Qlink gib dem chromeprocess bei der abfrage mal mehr zeit - z.b 5 sek statt 1 sek
es scheint einer deiner processabfragen funktioniert nicht - ich vermute aquaprocess
-
habe hier mal einen beispiel batch - du kannst ja mal testen und das als service bei dir installieren ( https://www.maffert.net/batch-datei-als-dienst-installieren-windows/ ) - nutzt simpleapi adapter des iobroker
kodi und aquamarin noch dazu nehmen und dp im batch angleichen
dafür muss curl für windows installiert werden - ich habe die datei [zipfile]/bin/curl.exe einfach in das windows/system32 verzeichnis kopiert (evtl im virenscanner ausschliessen) - ansonsten google fragen
curl-7.62.0-win64-mingw.zip:start tasklist |find /i "vlc" echo %errorlevel% if %errorlevel%==0 (curl http://192.168.178.59:8087/set/controll-own.0.AAATEST.TestLogic?value=true ) else (curl http://192.168.178.59:8087/set/controll-own.0.AAATEST.TestLogic?value=false) tasklist |find /i "chrome" echo %errorlevel% if %errorlevel%==0 (curl http://192.168.178.59:8087/set/controll-own.0.AAATEST.TestLogic2?value=true ) else (curl http://192.168.178.59:8087/set/controll-own.0.AAATEST.TestLogic2?value=false) TIMEOUT /T 20 goto start
damit sind die daten punkte im iobroker vorhanden - den timeout kann man sicher noch kleiner machen - können gerne wieder session wegen restlich blocklys machen
-
erstmal danke für den Adapter funktioniert super
seit einiger Zeit habe ich leider das Problem, dass die getadmin.exe (Win 10 Pro) in unregelmäßigen Abständen abstürzt und dann wieder gestartet werden muss.
Nach dem Neustart funktioniert es meistens wieder für ca 1 Tag.
Hat vlt jemand das gleiche Problem ? oder evtl sogar eine Lösung ?Im Moment behelfe ich mir mit einer angelegten Aufgabe im Windows Aufgabenplaner alle 15 min wird abgefragt ob das Programm noch läuft und wenn nicht wird es gestartet