Explorar el Código

Add ability to restart

ElMoribond hace 3 años
padre
commit
a2d5754e4b
Se han modificado 1 ficheros con 12 adiciones y 2 borrados
  1. 12 2
      web/src/api/mqtt.jsx

+ 12 - 2
web/src/api/mqtt.jsx

@@ -72,13 +72,14 @@ export function MqttProvider({
   return <Mqtt.Provider value={{ state, ws: wsRef.current }}>{children}</Mqtt.Provider>;
   return <Mqtt.Provider value={{ state, ws: wsRef.current }}>{children}</Mqtt.Provider>;
 }
 }
 
 
-export function useMqtt(watchTopic, publishTopic) {
+export function useMqtt(watchTopic, publishTopic, defaultValue = null) {
   const { state, ws } = useContext(Mqtt);
   const { state, ws } = useContext(Mqtt);
 
 
-  const value = state[watchTopic] || { payload: null };
+  const value = state[watchTopic] || { payload: defaultValue };
 
 
   const send = useCallback(
   const send = useCallback(
     (payload) => {
     (payload) => {
+      payload = payload || defaultValue;
       ws.send(
       ws.send(
         JSON.stringify({
         JSON.stringify({
           topic: publishTopic || watchTopic,
           topic: publishTopic || watchTopic,
@@ -118,3 +119,12 @@ export function useSnapshotsState(camera) {
   } = useMqtt(`${camera}/snapshots/state`, `${camera}/snapshots/set`);
   } = useMqtt(`${camera}/snapshots/state`, `${camera}/snapshots/set`);
   return { payload, send, connected };
   return { payload, send, connected };
 }
 }
+
+export function useRestart() {
+  const {
+    value: { payload },
+    send,
+    connected,
+  } = useMqtt(``, `restart`, "container");
+  return { send, connected };
+}