Raum-Modal: Bedienelemente statt Kommandoliste
Das Modal zeigte jedes Kommando so, wie es in der Datenbank steht: eine
Jalousie kam mit acht Rohbefehlen daher, darunter "Winken", die Farbe einer
Lampe als drei Zahlenfelder 0-255, ein Stromzaehler als abgeschnittene
Textzeile. Die Solltemperatur stand doppelt da - einmal als Schieberegler,
einmal als Zahlenfeld der Thermostat-Karte.
Jetzt entscheidet restricted/roomControls.php, welches Geraet welches
Bedienelement bekommt, und zwar an seinen Faehigkeiten statt am Typnamen:
hat es ein "setClosure"? ein An/Aus-Paar? drei Parameter rot/gruen/blau?
Damit bekommt auch ein neu gefundenes Geraet sein passendes Element, ohne
dass jemand einen Typnamen nachtraegt.
Beschattung Auf/Stop/Zu, darunter Position und Neigung als Schieber
auf dem zuletzt gemeldeten Stand; "Winken" und
"my-Position" im Mehr-Menue
Licht Kippschalter, Helligkeit, Farbwaehler des Browsers,
Effekt und Preset als Auswahl
Schalten ein Kippschalter statt dreier Knoepfe
Messwerte Wertegitter, die sechs wichtigsten sichtbar - beim
Wasserzaehler standen vorher MAC-Adresse und freier
Speicher vorn und der Verbrauch hinter "12 weitere"
Heizung nur noch der Schieberegler, daneben Ist-Temperatur und
Feuchte live aus dem MQTT-Strom
Ab zwei Geraeten einer Art ordnet eine Ueberschrift; darunter waere sie
nur Aufwand. Schieberegler schicken beim Loslassen, nicht beim Ziehen -
sonst bekaeme eine Jalousie bei jedem Pixel ein neues Ziel. Waehrend ein
Kommando unterwegs ist, sperrt sich die Karte sichtbar: ein "Zu" dauert
ueber eine Minute, und ohne Sperre tippt man in der Zeit nach.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -411,7 +411,7 @@ function deviceCatalog()
|
||||
];
|
||||
}
|
||||
|
||||
$res = $db->query("SELECT id, actor_id, command_name FROM actor_commands
|
||||
$res = $db->query("SELECT id, actor_id, command_name, command_url FROM actor_commands
|
||||
ORDER BY actor_id, id");
|
||||
$commands = [];
|
||||
while ($row = $res->fetch_assoc()) {
|
||||
@@ -423,6 +423,12 @@ function deviceCatalog()
|
||||
$devices[$id]["commands"][] = [
|
||||
"id" => intval($row["id"]),
|
||||
"name" => $row["command_name"],
|
||||
// Das Raum-Modal erkennt an der URL, was ein Kommando tut:
|
||||
// "setClosure" ist eine Position, "up"/"down" faehrt, ein
|
||||
// WLED-"{"on":true}" schaltet ein. Am Namen ginge das nicht -
|
||||
// der kommt aus dem Geraetesuchlauf und heisst mal "An", mal
|
||||
// "turn_on".
|
||||
"url" => $row["command_url"],
|
||||
"params" => [],
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user