NEWS
Windows Steuerung
-
das scheint schon ganz gut zu klappen.
wofür ist erstelle Text aus Wert von javascript1.GetAdmin.chk ? Das bleibt bei mir leer ...Wie kann ich das curl Ergebnis jetzt auswerten und entsprechend weiterverarbeiten ?
Würdest du den exec Befehl in einem Intervall innerhalb Blockly aufrufen ?Vielen Dank jedenfalls für deine tolle Hilfe !
-
das blockly läuft bei mir garnicht - das war nur ein beispiel - damit du das prinzip siehst
der aufruf liegt an dir - entweder dauerhaft mit cron - oder aber es gibt zeiten , wo du es nicht nutzt und mit einem einzelnen datenpunbkt steuerst - so würd ich es machen - wenn nicht gebraucht - keine abfrage - also eher eine kleines steurungsscript voran stellen
aber das schewierigste kommt erst - wir müssen das true aus der antwort generieren - so was habe ich noch nie mit blockly gemacht - ich schwenke da meist auf nodered - das find ich super genial für solche aufgaben
man könnte auch eine funktion ins blockly einführen - ich schau mal was mir einfällt
-
versuche mal das - bei mir gehts - in blockly importieren !
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="0pe!D9m|DQ0n2vS{pc^L">i</variable> <variable type="" id="IAIZZNEg)FEHn(.QqghV">curly</variable> <variable type="" id="9y]DS@|@Bk_.|#S~9?`Z">result</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="#Ua9Q^]Tk`C.~BXLBK~i" x="188" y="88"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="*^SU@bJ`LfXLD:8TSg=6"> <field name="oid">javascript.1.GetAdmin.chk</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="/bC!@nXBob[Lh6!kVdx="> <field name="VAR" id="IAIZZNEg)FEHn(.QqghV" variabletype="">curly</field> <value name="VALUE"> <block type="text_join" id="#05!$CXXh9(tA1f]lzmc"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="fYMXe;OE*KC}sSC5tjA$"> <field name="TEXT">curl "http://192.168.178.36:8585/?chk=</field> </block> </value> <value name="ADD1"> <block type="get_value" id="#_;FY?:{NT3OMs%Bi4oO"> <field name="ATTR">val</field> <field name="OID">javascript.1.GetAdmin.chk</field> </block> </value> <value name="ADD2"> <block type="text" id="YY`yunwF?raQc;tVM~B,"> <field name="TEXT">"</field> </block> </value> </block> </value> <next> <block type="exec" id="eSJpXB=73vc).D9Q)|[-"> <mutation with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="^hQJf(G00rYsUyb-)lCL"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="vKQP4@tnNu-3,Q]f(2x;"> <field name="VAR" id="IAIZZNEg)FEHn(.QqghV" variabletype="">curly</field> </block> </value> <statement name="STATEMENT"> <block type="control" id="XBOz5lk(8G!`+$uX*U)L"> <mutation delay_input="true"></mutation> <field name="OID">javascript.1.GetAdmin.singleprocess</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="jPNU,YG#ZJnce)*MW2Cz"> <field name="VAR" id="9y]DS@|@Bk_.|#S~9?`Z" variabletype="">result</field> </block> </value> <next> <block type="timeouts_settimeout" id="4B5ok$v)19CRt3;9Dru/"> <field name="NAME">timeout</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="zbf*lGC7X0$qd^(T(9|A"> <mutation name="etwas tun2"> <arg name="i"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="!,=a4X?*2*@4;HAUI_S;"> <field name="VAR" id="9y]DS@|@Bk_.|#S~9?`Z" variabletype="">result</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> <block type="procedures_defcustomnoreturn" id="t.a?5b7s^$L%nOYdazMf" x="238" y="538"> <mutation statements="false"> <arg name="i" varid="0pe!D9m|DQ0n2vS{pc^L"></arg> </mutation> <field name="NAME">etwas tun2</field> <field name="SCRIPT">dmFyIHJlID0gLy4rPHA+KFthLXpdKyk8XC9wPi4rL2c7DQogICAgIGkgPSAgICBpLnJlcGxhY2UocmUsICAnJDEnKTsNCiAgDQogICAgbG9nKGkpOw0KICAgIHNldFN0YXRlKCJqYXZhc2NyaXB0LjEuR2V0QWRtaW4uc2luZ2xlcHJvY2VzcyIvKkNsb3VkSGVscCovLCBpKTsNCiAgICBpZiAoaSAhPSAidHJ1ZSIpIHtyZXN1bHQgPSAiZmFsc2UiO30=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
-
sieht so aus :
ach ja - den steuere single process mit result kannst du deaktivieren und den timeout mal auf 500ms setzen - musst du ausprobieren, wie "kurz" er sein darf - wird ja über netzwerk gearbeitet
-
@Micro1959 sagte in Windows Steuerung:
Auf einem anderen Rechner mit Avira meckert das Antivirenprogramm und sagt, es hätte den BDS/Hupigon.Gen Tronjaner gefunden.
Wollte das mal ausprobieren.
Mein Antivir meckert auch.
Also hab ichs dann gelassen. -
Mehr oder weniger alle Antiviren Programme meckern wenn man Programme oder Tools nutzt die eine direkte Windows Steuerung ermöglichen.
-
@wendy2702 sagte in Windows Steuerung:
Mehr oder weniger alle Antiviren Programme meckern wenn man Programme oder Tools nutzt die eine direkte Windows Steuerung ermöglichen.
Kann ich so nicht bestätigen bzw. nachvollziehen.
Habe einige Programme die Windows steuern (z.B. Ultramon).
Und bei keinem meckert Antivir.
-
Nur mal kurz gelesen was Ultramon ist/macht.
Ist mit GetAdmin und dessen Funktionen nicht wirklich vergleichbar.
Wenn ihr aber Angst habt ist es ok wenn ihr GetAdmin nicht nutzt.
-
ich hätte am WE mal probiert deinen Vorschlag nachzubauen.
Sieht aktuell so bei mir aus:
Ich musste den Initialtrigger umbauen(bei Erkennung einer Bewegung vorm Tablet), weil das Script sonst nicht auslöst ...Und das Ergebnis sieht so aus:
Allerdings kann ich das Blockly Script zu 100% nachvollziehen. Das ist mir ein wenig zu hoch.
Auch sieht das Ergebnis nicht anders aus als bei der Erstversion weiter oben.
Wie hilft mir das neue Script die Werte verarbeiten zu können ?Ich steh hier irgendwie auf dem Schlauch...
-
@Qlink
hi - das ist ja schon ein wenig her - muss mich wieder eindenkenist das das ziel ?
siehe Blockly.
- Ich wecke das Display meines Win10 Rechners auf, wenn eine Bewegung erkannt wird.
- Ich prüfe ob Chrome läuft -> wenn ja, dann nur Display einschalten -> wenn nein, dann Chrome mit VIS starten und Display einschalten
- Ich schalte das Display nach 1min automatisch wieder aus.
- Ich prüfe ob VLC läuft, wenn ja, dann Display nicht automatisch nach 1min ausschalten -> wenn nein, dann Display nach 1 min ausschalten
Dazu brauche ich permanent den Status ob Chrome und/oder VLC laufen ...
-
das obere blockly script ist nur dazu da, die abfrage zu machen, ob chrome läuft. dazu muss in den punkt chk "chrome" stehen
mehr macht das script nicht
um nun die handlungen ablaufen zu lassen, die du bei z.b.bewegung wünscht, muss du ein script herumbauen - also bitte wieder chk im trigger definieren und nicht die bewegung
-
chkChrome bleibt bei mir wie im Screenshot zu sehen ist, aber immer leer ...
deswegen läuft das script auch nicht wenn ich den trigger auf chkChrome setze...
nur singleprocess wird mit der html Ausgabe von GetAdmin befüllt ... -
@Qlink du hast gar keinen datenpunkt chk - also wähle mal im trigger chkchrome in deinem blockly aus
anschliessend schreibe direkt in den objekten mal "chrome" in den datenpunkt chkchrome
dann müßte im singleprocess etwas stehen
erstmal die abfrage ans laufen bringen - danach machen wir das mit der bewegung
-
wenn ich chrome in den DP reinschreibe, dann fügt er das Wort bei dem singleprocess Ergebnis hinzu:
chromechrome.exe ...
-
immerhin eine reaktion !
lösche im "erstelle text blockly" das "chrome" heraus - es soll nur chk= am ende stehen
somit kannst du auch vlc in den datenpunkt chkchrome schreiben und es wird dir gesagt, ob vlc true/false ist.
-
testest du noch oder ist für heute schluss ?
-
ja das klappt !
aber wie kann ich daraus ein Blockly mit einer Abfrage bauen ?
Mit "setze chk auf chrome" und "prüfe singleprocess auf true" ? -
ich hab mal etwas geschrieben
zuerst wird vlc getestet- wenn vlc nicht läuft wird auch noch chrome getestet: wie machst du das mit dem monitor an-/abschalten - oder mit der minute warten oder eben ganz an. welchen befehl nutzt du da ?
das txt file wäre für einen import, damit du das nicht alles abschreiben musst - du musst die singleprocess-/bewegungdatenpunkt e ändern - bei mir sind diese datenpunkte nicht da, wo deine sind. das script hat noch keine funktion, wenn keine bewegung da ist !
und die ip adresse muss auch gändert werden
-
Ich hätte die letzten Tage versucht auf Basis deines Vorschlags die Tabletsteuerung mit Blockly so umzusetzen, damit ich es auch nachvollziehen kann. Wenn es zu verschachtelt wird, blicke ich da leider nicht mehr durch, daher hab ich versucht es möglichst einfach zu halten und die Steuerung in verschiedene Blocklys zu unterteilen.
Ich habe für meine 4 Programme(chrome, vlc, kodi, marineaquarium3), die ich abfrage, jeweils ein curl Blockly angelegt.
Die anderen curl Blocklys haben dann chkvlc und vlcprocess usw. als Variablen.
Das funktioniert soweit ganz gut.
Dann gibt es noch das Hauptsteuerungsprogramm. Hier hab ich schon zig Varianten ausprobiert, aber ich bekomme es einfach nicht so hin wie ich gerne möchte ...
Ich würde gerne folgendes Funktionalität haben:
Wenn Bewegung erkannt, oder Tastendruck auf Kaminfeuer oder Tastendruck auf Aquarium -> Display ein & check ob eines der 4 Programme läuftWenn keines der 4 Programme läuft -> starte Chrome mit "vismain"
Wenn nur Chrome läuft -> Display nach 2min aus
Wenn vlc oder kodi oder marineaquarium läuft -> Display nie ausschalten
Das ganze sollte noch dazu möglichst wenig curl Abfragen zu GetAdmin verursachen, da sich bei mir GetAdmin sonst aufhängt ...
Hier mein letzter Versuch, aber auch der funktioniert nur zum Teil:
tablet.txtWäre toll, wenn du mir einen besseren Weg zeigen könntest.
Beste Grüße
-
@Qlink moin - bin noch am frühstücken
bitte importiere mal dieses file und ändere die datenpunkte wieder - ich habe die alten bausteine darin gelassen - die kannst du löschen oder deaktivieren
- änderung. einmal der trigger ersetzt die ganzen "oder" abfragen
- änderung interval ersetzt durch einen 2 minütigen cron trigger
- änderung einen timeout2 der 17 sekunden wartet bis du alles gesteuert hast und anschliessend auswertet - ohne dieses warten wertest du etwas aus, was noch garnicht gesteuert wurde !!!
später dann mehr - zum eigentlichen programm