I was using the devices with firmware and device handler from
ecrocm1231, Tasmota firmware with device handler from argiope then hongtat, and even developed a simple http button device handler for zmote IR blaster, during the groovy era.
So now it’s time to move, it took me a while to figure out how & which driver to migrate in Edge era, eventually I migrated all my devices using ST Edge driver from TAustin, so I decided to share the steps below:
This guide will cover 3 types of devices:
SONOFF with firmware from ecrocm1231 (figure 1)
Zmote IR Bluster (http)
Prerequisite (please install):
Web Requestor from TAustin
vEdge Creator from TAustin
Sonoff with firmware from ecrocm1231
Step to migrate:
After install the web requestor, you will have the “Web Req Multi Master” in your ST App dashboard (usually under “No room assigned”).
Click on the button point by the cursor (Figure 4 below) to create an instance of Web Requestor, you will find another device created with the name “Web Req Multi #” appear in your ST App.
Open the newly created device, click on the 3 dots at the top right corner, Settings, setup the value for the Web Request
#1 and #2 (refer Figure 5 for example). Open vEdge Creator V2, enter the “Quantity to Create”, select “Switch” for the type of Virtual Device to be created.
A virtual switch will be created in ST App with the name “vEdge Switch #”
Open the newly created device, click on “Routines”, “+” to add a new routine, see Figure 6 & 7 below for sample to setup on and off action.
(Figure 2, showing how to turn on a SONOFF device using http command)
(Figure 3, showing how to turn off a SONOFF device using http command)
(Figure 4, click on the button to create an instance of Web Req device)
This is a sample setup screen for a Tuya power strips (4 individual controls), with Tasmota Firware.
Showing how to configure the virtual switch
Sample of Zmote setup
Showing how to configure the virtual momentary button (suitable for IR device):
I experimented with this method a few weeks ago but was only able send commands to outputs, have you figured out how to change the vSwitch states based on inputs?
First of all, can you execute the action you want via http? If yes then you can use this approach
I had no problem with outputs using vSwitch and Web Req, it works great but I was unable to get inputs from the device to change the vSwitch state.
I have since changed to using MQTT which does everything I need but does require a broker.
What you want is the active callback / http hook to update the vswitch, I don’t think this solution will work for you.
Just thought that you’d be interested in the Tasmota Edge driver.
It’s probably simpler, and covers all you need.
Tasmota Edge is an Edge driver for SmartThings, that allows you to add your Tasmota supported devices as SmartThings devices.
It works with more than 2000 ESP (ESP8266, ESP8285, ESP32, etc) WiFi devices - switches, lights (CCT, RGB, RGBW), dimmers, relays, plugs, power strips, sockets, wall outlets, fan controllers, IR bridges, RF bridges and more.
Brands include Aisirer, Athom, BlitzWolf, BrilliantSmart, eWeLink, Girier, Globe, Gosund, Lohas, MagicHome, Moes, Shelly, Smart Life, Sonoff, Tuya, Zemismart and many other brands.
Find all Tasmota supported devices here - https://templates.blakadder.com/.
Read more about Tasmota Firmware here - https://tasmota.github.io/docs/.
Instructions for flashing Tasmota firmware - https://tasmota.github.io/docs/Getting-Started/.
Your driver was the first I tested but could not get it to work for inputs. I then tested the method described here but had the same problem so ended up using Mosquitto. If your Edge driver would work for inputs (contact sensors) then it would be an ideal solution.
Yes, it will cover that soon.
The purpose of this post is to show people what can be done with the simple yet flexible edge driver from TAustin, beyond just Tasmota support
Related to TAustin’s excellent drivers, you can also use the virtual device to post the http directly rather than setting it up in the main creator tool and referencing the pre-configured request. I found this easier when I was experimenting with these driver.
Do share the steps if possible, I can’t figure out how you do it.
It is the same method but instead of selecting a pre-configured request (in the routine) you select post or get and enter the http there.
This file has been truncated.
# Web Requestor Edge Driver
Issue POST and GET HTTP Requests from the SmartThings mobile app. Requests can be any valid http request string and can include a body and specified headers.
There are two ways this driver can be used:
* Configure up to 50 different POST/GET/PUT requests, which can then be individually triggered through Automations/Rules or via a button in the mobile app.
* Issue custom URL POST/GET commands from within a Rule
The Edge platform limits communication to IP addresses on your local LAN only. However I have a bridge server program that can be run on any always-on computer (Windows/Linux/Mac/Raspberry Pi) on your LAN that can overcome this. See https://github.com/toddaustin07/edgebridge for more details.
Access my [shared channel](https://api.smartthings.com/invitation-web/accept?id=cc2197b9-2dce-4d88-b6a1-2d198a0dfdef) invitation, enroll your hub, and select the ‘Web Requestor Multi V1.0’ driver.
When the driver gets installed onto your hub, you can do an *Add device / Scan for nearby devices* and a new device called ‘Web Req Multi Master’ will be created in your ‘No room assigned’ room.
Ok, that’s done within the web requestor right?
My approach of create virtual switch is to facilitate control using Alexa, individual switch make it easy.
No, it’s done with the virtual switch and works with Alexa control. It is the same as your process above except don’t select the pre-configured entry but instead just enter the post or get request. It bypasses needing to save (pre-configure) entries in the multi master so with multuple devices I thought it was easier to manage but your method works.
I get what you trying to do, yes keep the url calling in virtual switch will be neater.
For scenario that need to add header and with extra body payload, can only preconfigure in the web requestor like my 3rd example above