NEWS
Neustart per VIS-Button
-
Hallo in die Runde,
ich habe hier im Forum schon eine ganze Weile gesucht, bin aber noch nicht auf eine passende Lösung gestoßen.
Ich habe auf meinem ioBroker mit VIS eine entsprechende Oberfläche. Hier möchte ich nun verschiedene Buttons einrichten, die mir den Neustart ermöglichen. Unter anderem möchte ich unsere Fritzbox (7490), den ioBoker und Anschlüsse unseres Unifi-Switches neustarten können. Ich habe auch noch andere Dinge im Sinn die ich so realisieren könnte.
Ich komme nun leider nicht weiter, wie man dies am sinnvollsten und effektivsten ausführen kann.
Mein Gedanke:
Es mach sicherlich Sinn ein Objekt anzulegen und dieses dann zwischen 2 Zuständen (z.B. die Werte 0 und 1) zu schalten. Über ein durchweg laufendes Blockly könnte man dann den Wert vom Objekt überwachen und wenn sich dieser auf 1 ändert den entsprechenden Befehl ausführen. Am Ende vom Blockly würde der Wert dann wieder auf 0 gesetzt werden.Jetzt habe ich das Problem, dass ich nicht weiß, wie man vom VIS einen Button anlegt, welcher einen Wert ändern. Im Idealfall sollte auch noch eine Abfrage kommen, ob tatsächlich XYZ ausgeführt werden soll.
Könnte mir hierbei jemand Hilfestellung geben?
MfG Flixer
-
@flixer
Habe das mit einem Taster Widget gemacht. Bei der FB betätigt der entsprechende Taster direkt den Reboot Datenpunkt im TR-064 Adapter. Beim Raspi geht es über selbst erstellte Datenpunkte und ein Blockly welches dann den entsprechenden exec Befehl absetzt. Eine Bestätigungs Abfrage habe ich nicht. -
Moin @flixer
Es gibt ein Widget (container-Button-view), welches ein "Pop up" eines views öffnen kann.
Hier müsstest du ein View bauen, in der du eben nach dieser Bestätigung zum Neustart fragst und eben erst dort der Neustart ausgeführt wird.Halbwegs verständlich?
Als Beispiel in meinem VIS, würde ich den "Button-title" bzw. "Icon-title" als Neustart Button benutzen und in dem View dann zwei Button einfügen (z.B. "xy sicher neu starten?" JA/NEIN) wobei "JA" dann den Neustart auslöst.
EDIT: deine Idee mit dem Datenpunkt, den du auf 0/1 wechselst, macht bei der FRITZ!Box kein Sinn, die hat bereits einen der anzeigt ob sie online ist, den kannst benutzen.
Bei ioBroker verschwindet die VIS eh und es wird nichts weiter verarbeitet oder angezeigt…Aber ich poste dir nachher mal so einen Schalter der das könnte und erklär wie der funktioniert, wobei du bei zwei Zuständen auch immer ein boolen Datenpunkt und ein Switch benutzen kannst, der auf True/false wechselt.
(Es sei denn du willst/musst irgendwo anders mit den zahlen arbeiten!) -
Hier die Lösung mit dem "container-Icon-view" Widget:
Hier öffnet sich beim klicken ein Fenster, in dem erneut gefragt wird „wirklich neu starten“ ein Klick auf den Button startet 5sek später ein exec Befehl "iobroker reboot".
Ein "Button State" Widget reicht hier dicke aus um dein Objekt auch mit z.B. "1 oder 0" zu steuern, ein Switch wäre unnötig, da den jeweils anderen wert ein Blockly automatisch erledigen sollte…
-
Hallo an alle,
ich konnte mich leider zeitlich nicht damit beschäftigen, will aber in den nächsten Woche mein Vorhaben angehen.
@ Newpicsel
Das sieht klasse aus und entspricht dem was ich gern hätte. Danke für den Denkanstoß. Ich lese mich dann mal tiefer ein und werde mich melden, wenn ich etwas nicht verstehe/nicht hin bekommeDanke!
-
Hallo, etwas her aber heute habe ich mal Zeit gefunden. Ich habe 2 zusätzliche Views angelegt, eine für die Fritzbox und eine für den iobroker. Der Container-Button-View ist auch angelegt.
Welchen Button muss ich nun nehmen, damit ich Fritzbox bzw. ioBroker neustarten kann.
Wo muss ich welchen Befehl eintragen, damit das auch funktioniert. Muss es über ein Blockly laufen oder geht das eventuell auch ohne?.
-
Moin @flixer
Für die FRITZ!Box existiert ein Datenpunkt:
"tr-064.0.states.reboot"Um ioBrocker neu zu starten, gibts es meines Wissens kein Datenpunkt (vielleicht wurde mittlerweile einer hinzugefügt).
Ich steure ein selbst angelegten Datenpunkt, welchen ich in einem Blockly trigger welcher dann ein Befehl absetzt…
(Hier muss zwingend das Kästchen: <Kommando "exec" erlauben> im JS Adapter aktiviert sein!)Als Button kannst den "jqui - Button State" nehmen, dort trägst du den Wert "true" ein.