Will try to do some testing between my KDE laptop and my RPI3 development board. Hope I will not forget as I keep (re)flasing my rpi sd card with all kinds of different test versions of MycroftOS. But hopefully somewhere in between, I will quikcly install the skill on bot and us my MQTT broker on my server that i currently use for Zigbee2MQTT.
Maybe a quick piece of info for those who want to try this out:
When Mycroft asks you where to send the message, you need to answer with whatever is entered in your device profile under placement: āOfficeā
I know itās mentioned above but I had some trouble finding it under āMy Account - Devicesā
Donāt try to be nice and say āTo the office!ā - it really needs to be exactly whatās in the field: āOfficeā
If you change the entry in the placement field, you should re-start your Mycroft - I tried to do a config reload and it was not sufficient.
Itās working great now - thanks to @pcwii for creating this!
Thanks for the tips, and for testing. I have some ideas to try and simplify the send message/command request so it would recognise a single command, something likeā¦
Hey Mycroftā¦
Send a message to the office
I could also try to do some intent parsing whereas when a location is multiple words like,
āto the Officeā, or āthe officeā and extract the location from there.
Again, thanks for testing and if you find some interesting use cases communicating to other mqtt enabled device let us know.
This should be corrected now, you can be nice and say āTo the office!ā or you can skip the location request and just say āsend a message to the officeā.
I have also made a bit of a non breaking change to the <base_topic> this can now be any MQTT compatible path topic, with multiple topic levels separated with the topic level separator ā/ā
Thanks again for testing.
This seems to work great now - I like especially the fact that I can use the location straight away!
As soon as I can free up one of my other RPis Iāll set up another PiCroft
Iām still struggling with some of the MyCroft basics, though.
Couldnāt find a way to force the skill update other than a full reboot
But itās working fine now.
The skill is set to always send the ārequestā and āresponseā messages to an mqtt topic based on the mac (UUID) of the device that is what you are seeing hereā¦
MQTT: Mycroft/RemoteDevices/dca6327aadc9/request, "what's the weather"
MQTT: Mycroft/RemoteDevices/dca6327aadc9/response, "It's currently a clear sky and 2 degrees celsius."
My intention here is that these topics could be subscribed to by any non-mycroft mqtt device, thought it might be useful.
It looks like the skill is executing correctly. Sending the message to the bedroom device.
when the bedroom device loads the skill does it indicate that it has successfully subscribed to the topic. You should see something in the logs likeā¦
Connection Verified
This device location is: bedroom
likewise you should see your livingroom device report itās location when the skill loads.
Do you have a method to for monitoring the mqtt traffic?
Also you can attempt to send a message to the current device. ie send a message to the bedroom from the bedroom and it should receive it since it is subscribed to that topic.
3. if you have a method to send an mqtt message try sending to one of your two topics
So while testing your mycroftOS I may have found an issue with the mesh skill.
For some reason my devices are reporting that the MQTT is disabled even though it is clearly enabled in the websettings. This might have been what you discovered as well.
To get the mqtt working I had to disable the checkbox in the websettings, save it then re-enable it.
I think this occurred due to the fact that i default it in the skill to disabled but the new mycroft device did not detect a change in the websettings so didnāt update anything. MQTT is now working from my original mycroft to the MycroftOS unit. If you can confirm the same behaviour that would be great. I will likely report on my preliminary findings on MycroftOS then provide more information as i get more testing time. Initially it came up without any major problems on this rpi4. Well done!
Does anyone know if there is a way to determine what skill has a message on the message bus?
I would like to modify this skill so that the mqtt publishing is done to a different topic based on what skill has a message on the messagebus? @andlo, @j1nx, @JarbasAl you have all done quite a bit of messgebus work maybe you know? Or others?