Fitbit SimpleHome Operations

(last update 2025-05-16  Version x.3.06 [Versa 1/2/3/4 & Sense 1/2])     

Main views

init

Defined devices list view
main

Main Operating a device view




Operating SimpleHome

The SimpleHome app can control up to 32* devices accessible
directly on your network, or functions via Home Assistant or other services.
[* Not all models support that many devices]

As Google Assistant functions are being removed from Fitbit watches, SimpleHome can
sometimes be a good alternative.

It will work with anything that uses a simple RestFul API interface (see section below)

When
SimpleHome is started on the watch it will show a splash screen to ensure it is properly connected.

ok

Watch connected
youtube
mot ok

Watch not connected
youtube

If not connected, tap the screen to try again.
If this doesn't work resolve the watch-phone connection issue.

Your phone needs to be nearby and be able to sync to use SimpleHome.

If the watch cannot connect SimpleHome obviously cannot be used.

Operations give tactile feedback to know that it is working. It is important to wait till the watch stops vibrating before starting another operation.

Also as the operation parameters can be complex please see the troubleshooting section to help eliminate possible mistakes.


Devices List view

If there are sufficient devices in the Devices List it is scrollable.

It will reflect changes made in the Gallery tile as they are made if it is syncing properly, after a little pause, be patient.

T
ap on a particular device to select that one, or tap on the red X to return to the main operating view with the previously selected device, without having to select it again.

Pressing the Back button will immediately Exit the SimpleHome app.


Main operating view

Pressing the Back button will immediately Exit the SimpleHome app.

Or tap the red X on the main view  to Exit the
SimpleHome app and provide version and other useful information.

Tap the square with the Device number shown in the main view to change to the Devices List view to select
another device. At that point all the details for that device can be consulted or modified on the phone.

Tap the Refresh icon [top left] to get the current state displayed, in case there has been a change, the toggle button will show the current state after a few seconds, if this is supported and properly configured.

Tapping the toggle button will change the state after a few seconds.

Tapping the State change buttons [Close/Open in the example] will issue the command for that state directly. The toggle button will follow, if relevant.

The yellow bottom area displays the status of any relevant information. Tap it once to hide it or recall it. The results of an operation, if any, can be seen and for helping troubleshooting the URL used, it can be shown by tapping it again.

Operating timeouts - IMPORTANT

SimpleHome will continue to run for 5 minutes after the last update from the Fitbit App Settings or last manual operation on the watch.

SimpleHome display will stay on for 30 seconds from the last display operation or when a change is made on the phone, providing the watch is not in Sleep mode.

SimpleHome closes and returns to the last clock face when the timeout is reached and any changes made in the Fitbit App Settings will be discarded.

O
nly changes made when SimpleHome is running are accepted.


Setting up SimpleHome

All settings for the
SimpleHome app are done on the phone.

Setting it up
- required for it to work
  • make sure the watch and Fitbit App are syncing
  • start SimpleHome on the watch, till it is connected
  • open the Gallery tile, SimpleHome Settings on the phone
  • one device will be selected on both initially
  • configure it on the phone
  • if you want more devices,
  • use the Add option to add them, leave 5 seconds between each
  • configure them on the phone
  • the Delete option will remove the selected device from the list except for at least one remaining.


Note: Cloning:

When adding a device it clones the already selected device.
Adding devices of the same type simplifies the definitions.

Important

1) If you want to setup any old device use ANY for DeviceMake and this will remove the unwanted options incurred from a previous device.

2) The absence of certain strings enables defining each device to be with or without certain action buttons or Toggle button, so makes each device configurable to the need.

3) It's possible to make a device multiple times, each for a different need.


Configuring a device

Complete the "Device Identity details" as follows

Name or Service of device [~20 characters max]
  • a short name for the device [+ any special function, if useful]
  • or Service name of a Home Assistant function

HTTP or HTTPS addressing

  • HTTP is most often used for a device, HTTPS may be used for services such as Home Assistant, Telegram or MacroDroid.

DeviceMake
  • select one of the predefined ones, or Any
  • the predefined ones will already complete most of the other sections
  • if you are using another type of  'device' select Any
  • enter each of the Device strings below manually

Device IP - [no trailing '/'] [default is 192.168.1.0, must be changed]
  • for a device, enter an IP address eg 192.168.1.135
  • if a special port is needed then include it, eg 192.168.1.135:1010
  • for a service, enter the website address only to reach the service
  •  [without the HTTPS:// qualifier or any other information]
  • a device can be added multiple times, once for each type of operation

Operating mode
  • choose the most appropriate function from the list
  • Off/On
  • Close/Open
  • Down/Up
  • <</>>
  • --/++
  • Cancel/Trigger*
  • Cancel/SOS*
  • Night/Day*
  • Away/Home*
  • Load/Save*
  • Import/Export* ++
  • Get/Send*

* These modes don't support refresh or have a toggle button
++ Not currently implemented


Device Strings - [no leading '/'] -

Note: For any complicated strings, especially those with embedded keys, codes, webhooks, pre-assemble them in an editor [such as Keep or Notes] and test them in the browser by combining your choice of
 <HTTP>://<Device /IP>/<string>.

This will speed up configuring SimpleHome and keep a record of all elements.

For
DeviceMake set to Any complete as as follows
  • State 1 command  - String to initiate that state

        Such as "relay/0?turn=on" or "api/webhook/<function name>"

  • State 2 command - String to initiate this state
  • Query command - String which returns the state of the device
  • State 1 & State 2 indications 

A query command is issued if a device is selected from the Device list view on the watch or the Refresh icon is tapped.

It is used to set the toggle switch to indicate whether the device is off or on.

To do this the Query report is analysed and compared with the strings provided to show the correct information.

So enter the unique strings appropriately.

A good way to determine what values to put is to use your browser to set state 1 and run the query to find the relevant string and again for state 2.


Getting results

The yellow status windows will show any returned results from mode changes or the Query operations.

If there is too much information to fit use the "More" button to scroll the whole results string.

Switch between results, URL used or nothing by tapping the yellow zone.


Note: If the device / service doesn't have a return status capability it is important to enter nothing for the Query command and this will disable the check process.


Note: It is possible to operate a device or service with different modes by adding it as multiple 'devices" in the list but with different options.


Connectivity - [requirements for the
SimpleHome app to work]
  • the phone must be nearby,
  • the Fitbit App must be connecting to the watch
  • do a manual sync to check
  • the Fitbit App can lose sync during or before use
  • the phone must have access to the local network where any device IP addresses are mentioned, it may work remotely using a VPN tunnel to that network.
  • for the Fitbit App to work fully the phone must have location on and Internet access
  • the SimpleHome app permissions must be granted
  • the SimpleHome app settings must be properly entered
  • See troubleshooting below if not working


Phone Settings


phone
The watch and phone must be connecting before any changes can be made in the Settings on the phone. Generally a manual sync will help

By selecting a device from the Devices List on the watch the device definitions can then be configured in the phone Fitbit App, Gallery tile, SimpleHome settings.

A device can be deleted, edited or another device can be added using the options at the top.

Editing is done by selecting the appropriate field, clicking in the field and making the change and saving. The changes will be reflected on the watch face.

Start by giving a good description for the name, note there is limited space, so not too long.

Add the IP address of the device or base website address without the http(s):// or trailing '/'.

Use
DeviceMake to select Any or if Shelly, myStrom or others are selected the other fields may be pre-filled or need to be changed manually.

They can be modified any time to suit your particular device or command structure, and if Any is selected they must be entered manually.

If any operations are not working
tap the yellow bottom area to check for errors in setting up the parameters - it will display the url used and this can be checked in some cases by issuing the same command from a browser.
 



Troubleshooting


Please note some iPhones and iOs versions won't permit all operations.

There are 2 basic components to the app, one which runs on the watch, the other on the phone, check the following:

The Fitbit App
  • will manually sync. It may lose sync any time.
In the Fitbit App, Gallery tile, SimpleHome app
  • Permissions are all granted
  • Settings has at least one device defined
  • all the values are correct, especially the IP address, HTTP type, etc.
  • one small mistake in any of the parameters will cause it to no work properly
Check phone is on same network as the device, local addresses should be in the 192.168.1.xxx Lan, and WiFi is on, try with cellular off.

If other non supported LANs are needed see
MacroDroid Proxy

After each of the above checks remember to tap the on
SimpleHome app Refresh icon to see if it is working.

If not stop and start the
SimpleHome app again.

If you think the parameters are right and it is still not working, try the string as shown in the bottom status, in your browser [except for SonoffDIY] or Telegram Save].

This enables to check you have the correct settings and to ensure they are inserted in the app correctly after.

To do this, check the yellow status area at the bottom shows the same command that was entered in the browser.

It is a good idea to record each of the Restful API calls in a notepad, for reference and verification, and to speed up inputting the parameters before a timeout occurs.
 
Patience is needed as it takes time to load the data, especially when waiting confirmation of a change.

If the watch doesn't vibrate when tapping an icon, as they are small, it may be necessary to try tapping again in the exact right place.

The
SimpleHome app can be used without accounts, logins, fees or restrictions.


Exiting:

Exiting the app, there is a slight pause to allow time to save the configurations.

SimpleHome will close automatically after a certain time of inactivity. This may happen if setting up the parameters takes a long time, or the watch may also stop syncing. Once this happens any configurations changes made on the phone will have no effect on the watch and will be lost next time SimpleHome is started.


Raw API commands (for devices)

Any

Can be for any type of device other than those listed and in which case has no specific default values

Shelly

http://192.168.1.132/relay/0?turn=on
http://192.168.1.132/relay/0?turn=off
http://192.168.1.170/relay/0

Status
off "ison":false
o
n "ison":true

myStrom

http://192.168.1.131/relay?state=1
http://192.168.1.131/relay?state=0
http://192.168.1.131/report

Status
off "relay":    false
on "relay":    true


MacroDroid

https://trigger.macrodroid.com/<deviceid>/macro 1
https://trigger.macrodroid.com/<deviceid>/macro 2
https://trigger.macrodroid.com/<deviceid>/request

Status
user defined


Setting up MacroDroid [EG. request phone battery level]
  • add a macro
  • select trigger webhook (Url)
  • add identifier <battery>
  • copy the shown url
  • scroll to the bottom and click ok
  • add action <speak text> with value {battery_int} S
  • click ok
  • click tick to save macro with name <battery>
  • save
  • place everything after https://trigger.macrodroid.com/ in the State 1 field.
  • when it is tapped the phone will say it's battery level

Note: names are case sensitive, action is unidirectional

example:
https://trigger.macrodroid.com/3b045d6e-659e-49d7-xxxx-e0adbb02057f/battery

TroubleShooting unsupported local addresses

It is possible to run using unsupported [by Fitbit] local LANs

To do that you can use MacroDroid Proxy to reach devices that are not on a supported LAN. The example shows how to set it up but first try the previous example to make sure macros work.


Home Assistant [HA]

Using webhook [only for commands]

https://192.168.1.42:8123/api/webhook/SimpleHome1
https://192.168.1.42:8123/api/webhook/SimpleHome2
https://192.168.1.42:8123/api/webhook/SimpleHome3

Using
AppDaemon [which can give an answer back]

http://192.168.1.42:5050/api/appdaemon/
SimpleHome1

import hassapi as hass
class API(hass.Hass):
        def initialize(self):
            self.register_endpoint(self.my_callback, "
SimpleHome1")
        def my_callback(self, data, **kwargs):
        return {"message": "Hello World,
SimpleHome1 called"}, 200 

Status
user defined

For an interactive Restful API response see Home Assistant

Setting up HA

Configure a webhook triggers in HA, like
  • platform:webhook
  • local_only: true
  • webhook_id:'SimpleHome1'
  • allowed_methods
  • - GET
  • action:
  • - service: notify.SimpleHome1_bot
  • data:
  • message: "SimpleHome contacted me"

Note: names may be case sensitive

See useful API link

 Telegram (a useful tool)

What can it be used for?

You can send messages to Telegram, for example to record an event

You can save a copy of your Device settings for reference and checking

If you select Telegram as DeviceMake it will pre-fill with the following which you need to complete

https://api.telegram.org

bot<Token>/sendMessage?chat_id=<Chatid>&parse-mode=Markdown&text=<Your text> || nothing for Save

replace the "<Token>"  with your actual Telegram Token
replace the "<Chatid>"  with your actual Telegram Chatid
replace the "
<Your text>" 
  •  with any text you want to Send or
  • replace the "<Your text>"  with nothing for Save

Here is an completed example string


bot7494039763:AAGBX7CLVJoUkPh0GaghGsZiVwrZ3xFrG0/sendMessage?chat_id=922210977&parse-mode=Markdown&text=


Choose the relevant
Operating mode and enter the corresponding entries. Only one or both of the On and Off settings are applicable

When issuing a Save you may receive more than one message due to size restrictions and this may take a while to run on the watch so be patient until you have received all your settings.

Your watch will vibrate for each message portion sent.

Setting up Telegram

Use the Telegram BotFather to establish your Token and Chatid - see A good starting point


Daikin 

What can it be used for?

You can check if your aircon is on or off

If you select Daikin as DeviceMake it will pre-fill settings with the appropriate elements to check only.

If you want to operate any units use the Daikin Aircon app instead

You need to still enter the device name and IP address.


 General examples.

error

Possibly the IP is wrong

Results

First part of results
tap more for rest

2nd

More of the results

3rd

Last part of result
tap More to go back to the start

url

Validate the URL used
Tap yellow to switch mode
Can be used in a browser for verification


SonoffDIY
 

What can it be used for?

You can only check a Sonoff switch if it has been converted to DIY mode or Tasmota first.

eWeLink devices are normally handled through their app or Home Assistant otherwise.

If you select SonoffDIY as DeviceMake it will pre-fill settings with the appropriate elements to check or switch a device.

But you MUST put in the appropriate IP address to replace the model one.
The :8081 is important to be included after the IP address



IFTTT

What can it be used for?

You can use ANY to access it and set up profiles accordingly.




SimpleHome  releases
(
V4 - Versa 2, V5 - Sense, Versa 3,
V4 - Versa, Versa Lite are limited to 16 devices)


Vx.2.xx - tba

  • Import/Export option
  • other enhancements
  • open to suggestions


Vx.3.06 - 2025-05-16

  • Full connection monitoring
  • Performance inprovements

Vx.2.23 - 2025-05-07

  •  Storage stability improvements

Vx.2.22 - 2025-04-25

  •  stay active for 5 minutes and other enhancements
  • keep display on for 30 seconds after a change
  • local Sonoff support

Vx.1.18 - 2024-08-11

    • added More to view full results

    Vx.1.18 - 2024-08-05

    • added Daikin as a supported make
    Vx.1.17 - 2024-08-03

    • Support for saving your settings in Telegram

    Vx.1.11 - 2024-07-15

    • Initial release