-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
I am using Vue 3 and I managed to connect to a server and to subscribe to a topic, but i can't figure out how to display the messages..
Any help would be appreciated.
This is my code so far...
`<script lang='ts' setup>
import { ref, watch, onMounted, onUnmounted} from "vue";
import { useMQTT } from 'mqtt-vue-hook'
import { toast } from 'vue3-toastify';
import 'vue3-toastify/dist/index.css';
const mqttHook = useMQTT()
const protocol = "wss";
const host = "xxxxxxxxxxxxxxxxx";
const port = 443;
mqttHook.connect(`${protocol}://${host}:${port}`, {
clean: false,
keepalive: 60,
clientId: `mqtt_client_${Math.random().toString(16).substring(2, 10)}`,
connectTimeout: 4000,
})
onMounted(() => {
const mqttHook = useMQTT()
// mqttHook.subscribe([...topic], qos, opts?, callback?, clientID?)
// mqttHook.unSubscribe(topic, opts?, callback?, clientID?)
// '+' == /.+/
// '#' == /[A-Za-z0-9/]/
mqttHook.subscribe(
['/v3/gre-application-1@ttn/devices/23-v6-02-20/#'],
0,
undefined,
() => {
console.log('subscribed!')
}
);
// mqttHook.registerEvent(topic, callback function, vm = string, clientID?)
// mqttHook.unRegisterEvent(topic, vm)
mqttHook.registerEvent(
'/v3/gre-application-1@ttn/devices/23-v6-02-20/#',
(topic: string, message: string) => {
console.log(`topic=${topic} message=${message.toString()}`);
},
'string_key',
);
mqttHook.registerEvent(
'on-connect', // mqtt status: on-connect, on-reconnect, on-disconnect, on-connect-fail
(topic: string, message: string) => {
console.log('mqtt connected')
},
'string_key',
);
});
onUnmounted(() => {
mqttHook.unSubscribe(
'/v3/gre-application-1@ttn/devices/23-v6-02-20/#',
undefined,
() => {
console.log('unSubscribed!')
}
);
})`
Metadata
Metadata
Assignees
Labels
No labels