Duplicate calls when using MQTT and Subflows

I have a subflow that is designed to control my Wyze vacuum cleaner. It handles which rooms to clean, when to change suction, etc, and has timers involved so that things can change at the right time. So to terminate the subflow, and send the vacuum back to charge, I have an MQTT call that I make which tells the flows within the subflow to change. My issue is that when making an MQTT call in the subflow, it seems to fire 4 times vs. 1. If I move the MQTT call to my playpen, it only fires once.



FYI, I ended up solving this by dealing with the stop function via the input node to the sub flow vs. via MQTT. Thanks @erktrek.

4 Likes

Brian,

It seems that I'm stalking you (the Check_Beacon_presence app - still working on getting that to fully work) and now I have found you here with the Wyze vac. I just purchased it about an hour ago and await its arrival. It would appear that you are using Node Red for control of the Wyze robot vac. As a newbie to Hubitat, other than Node-Red (and learning how to use node-red), is there anything else I need to get my Hubitat and Wyze robot vac to work together? Code, app, magic wand, etc?

It’s not my code to share (well, not all of it) but when it’s publicly released I will share it.

1 Like

Cool. Ok, vac arrives in two days. Who do I need to bribe for the code? :rofl::rofl:

You’ll need to get access from Shaun via this thread [Feature Request] Wyze Vacuum · Issue #107 · JoshuaMulliken/ha-wyzeapi · GitHub. I have some crappy python code which you can use HE to make API calls to. I haven’t documented anything but can push my stuff to GitHub. It’s not going to be easy to make it work unless you’re comfortable on the command line in Linux.

1 Like

Here is my Wyze Vacuum simple rest API interface: GitHub - bdwilson/wyzevac-api: Wyze Vacuum Simple REST API. It requires Python 3.9, so Docker is the best way to run this.

Thanks Brian, this is working well, nice work! One command that is giving me trouble is the pause command. I get an Internal Server Error message. http://my.ip.address:59354/api/[deviceid]/pause. I believe I have tested all the other commands and they function as expected.

Thanks for reporting. I have pushed an update if you re-deploy your container. Battery also wasn't working correctly until wyze_sdk pushed an update today. A change after 1.0.1 broke it.

Thanks, I will get it updated and give it another try.

Edit: Thank you Brian, the update is now pausing as expected.