mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-02-01 10:31:54 +08:00
ugpio plugins
This commit is contained in:
@@ -54,13 +54,18 @@ class ExportApi:
|
||||
self.__user_gpio.get_state(),
|
||||
])
|
||||
rows: List[str] = []
|
||||
|
||||
self.__append_prometheus_rows(rows, atx_state["enabled"], "pikvm_atx_enabled")
|
||||
self.__append_prometheus_rows(rows, atx_state["leds"]["power"], "pikvm_atx_power")
|
||||
|
||||
for mode in ["input", "output"]:
|
||||
for (channel, gch) in gpio_state[f"{mode}s"].items():
|
||||
self.__append_prometheus_rows(rows, gch["state"], f"pikvm_gpio_input_{channel}")
|
||||
for (channel, ch_state) in gpio_state[f"{mode}s"].items():
|
||||
for key in ["online", "state"]:
|
||||
self.__append_prometheus_rows(rows, ch_state["state"], f"pikvm_gpio_{mode}_{key}_{channel}")
|
||||
|
||||
if hw_state is not None:
|
||||
self.__append_prometheus_rows(rows, hw_state["health"], "pikvm_hw")
|
||||
|
||||
return Response(text="\n".join(rows))
|
||||
|
||||
def __append_prometheus_rows(self, rows: List[str], value: Any, path: str) -> None:
|
||||
|
||||
@@ -59,5 +59,6 @@ class UserGpioApi:
|
||||
async def __pulse_handler(self, request: Request) -> Response:
|
||||
channel = valid_ugpio_channel(request.query.get("channel"))
|
||||
delay = valid_float_f0(request.query.get("delay", "0"))
|
||||
await self.__user_gpio.pulse(channel, delay)
|
||||
wait = valid_bool(request.query.get("wait", "0"))
|
||||
await self.__user_gpio.pulse(channel, delay, wait)
|
||||
return make_json_response()
|
||||
|
||||
Reference in New Issue
Block a user