Sending Texts from Fluent Control

Has anyone setup something to send texts from FluentControl? I was thinking of writing something in Python with Twilio to send the texts. Then, I could trigger the Python script to run with Start Application in FluentControl.

Has anyone set this up, maybe using another method too? I want to send a text when a run is done and it’s time to collect the samples.

1 Like

@luisvillaautomata

I have, what are you looking to send? Also what version of FC are you using?

Thanks for replying so fast! We would like to send just simply the status of the process such as ‘Protocol started’ and ‘Protocol done’ to the user. Our Fluentcontrol version is 3.0.16.56719 :smiley:

2 Likes

Question: are you working with jshmoo on this?

Also, have you ever used Tecan Introspect?

Yes! We are working together. We have not used introspect. But also, I think you have to pay for that.

I believe that with the latest update to the Introspect client you can enroll in Introspect for free so I would look into setting that up.

From there, you have two options,

  1. Once you have Introspect connected, you can use the Tecan Connect command OR set something up that is more passive to send messages through IFTTT with Tecan Connect.

  2. Create an executable (webhook or Slack API in whatever language you want) to send a message alert.

I prefer 1 because it’s native to the software so less to maintain but also because you can create custom applets to send messages to apps like Slack or send emails or send texts.

Introspect has other added benefits like instrument usage tracking, etc… plus they have an API which I use to query runtime data to determine if the system is healthy-ish. Works for EVO’s too.

Yes, I think Introspect is only a free trial period initially. I was wondering if there is a way to work around it. Might still look into Introspect.

Interesting, I saw this just yesterday…

I can send you the link to the latest version if you’re interested. You’re probably an older version of Introspect.

Any updates here?

not yet! few other things took priority the last week :upside_down_face: will definitely update when we get something running (or have issues)

Sounds good! I’m going to work on a script as well that can be converted into an .exe. This sounds like a nice fun project, I’ll share it when I’m done.

I am very interested in what you find out as i have had success with converting python script to .exe file on a Tecan Evo. Unfortunately my university’s security as been upgraded so i cannot execute my home made .exe scripts anymore. I think i will need to learn to implement VBA in the Fluent Control to get around this.

Are you sending to Slack or something else?

Hi there, glad to inform you that Instrospect is a free service.

As others mentioned I would recommend downloading the Tecan Connect app (available for android and iOS) for your phone. With this, you can live monitor your instruments and see if a unit is running, paused, ready to go or needs user interaction.

Apologies @jshmoo and @innamalwina, I transitioned jobs and I’ve been swamped!

With that said, I have a working script in Python for Google Hangouts and Slack. I need to convert it into an .EXE that accepts a command line arg in the form of a text string. Should be easy enough but let me know if you’ve made progress and I’ll consider putting together tutorial.

@jshmoo, @innamalwina I’m also working on an .exe with Python for Teams notifications. I created a one file executable using pyinstaller. It works in VSCode but isn’t providing notifications when popped into a FC script.

1 Like

Update…

I wrote a VB because updating the EXE is annoying.

VB (to query variables) to Python to Slack

2 Likes

I wrote an python script and converted it as louisvilla suggested. You can use the export variable command to export csvs and then hand over the file location once you execute the .exe file.
There are a few things to consider:

  • you need to import the arguments in python using e.g. the module argparse

import argparse
def read_input_args():
parser = argparse.ArgumentParser(
description=‘Create an cell analysis report’)
parser.add_argument(“–file_tecan”, required=True, type=str,
help=“File path of tecan seeding report”)
parser.add_argument(“–file_report”, required=True,
type=str, help=“File path of seeding report”)
parser.add_argument(“–file_cv”, required=True,
type=str, help=“Path to the first cellavista file.”)
args = parser.parse_args()
return args

  • arguments can be accessed by writing e.g. args.file_tecan
  • The arguments transferred must not include spaces! I had some in my file paths.
  • Concatenate the argument string in Fluent Control before handing it over to the “Start application”. It will just take a string here and not a function. That’s at least what I experienced.
  • Just provide the file path of the .exe file and the argument string in the “Start application” command.

Let me know, if you need more information.

1 Like

This topic is pretty much exactly what I was interested in setting up for fluent (and possibly evo’s)!
Couple of questions before I spend too much time trying to implement this! Sorry if these have already been explained I might have missed/misunderstood.

  • How are people using this? Are you using it to send notifications on error or for user intervention (or both!) Does fluent control allow the running of these sub scripts in case of errors? I’m quite new to using fluent control so haven’t had chance to dig down into the error handling.
  • I have implemented SMS/Email API from python and also VB programs but not sure how best to integrate this with variables from a fluent script. I understand the python .exe solution but how did you convert to exe? Any help/resources associated with this would be very helpful! (especially as I’m not really expert coding)
  • @luisvillaautomata did you manage to implement fully in vb or did you use it to push variables to a .exe ?

Also, a bit of feedback for Tecan (@KevMcGuire_Tecan) is that it would be helpful in future to support http requests directly for custom cases without too much homebrew workarounds. While IFTTT integration is a good start, it does lock you in to their system and pricing.

Thanks =)