onMessage: (topic, buffer) => {
if (!get().mqttData.get(topic)) return;
if (start == 0) start = new Date().getTime();
get().mqttBuffData.set(topic, buffer);
// if its been 500 ms call handle buffers
if (new Date().getTime() - start > 100) {
get().handleBuffers();
}
},
handleBuffers: () => {
start = 0;
for (let [key, value] of get().mqttBuffData) {
get().mqttData.set(key, JSON.parse(value.toString()));
}
set((state) => ({
mqttBuffData: new Map(),
}));
},
onMessage: (topic, buffer) => {
if (!get().mqttData.get(topic)) return;
if (start == 0) start = new Date().getTime();
get().mqttBuffData.set(topic, buffer);
// if its been 500 ms call handle buffers
if (new Date().getTime() - start > 100) {
get().handleBuffers();
}
},
handleBuffers: () => {
start = 0;
for (let [key, value] of get().mqttBuffData) {
get().mqttData.set(key, JSON.parse(value.toString()));
}
set((state) => ({
mqttBuffData: new Map(),
}));
},