TaskerLink - What's new
=======================

Changes and bug fixes in each version, newest first.
"Plugin" = the HomeSeer plugin (HSPI_TaskerLink.exe); "Tasker" = the TaskerLink Tasker project.
See README.md, section "Upgrading", for how to update from an older version.


2.1.1  (2026-11-03)
-------------------
- New: each device has an icon for what it is, using Material Design Icons (the set Home Assistant
  uses): light, fan, ceiling fan, lock, switch, plug, door, garage door, window, blinds, curtains,
  thermostat, motion, presence, smoke, leak, CO, temperature, humidity, light level, power, battery,
  TV, speaker, camera, siren, valve and appliances. On/off devices have on and off variants (e.g.
  locked and unlocked padlock), yellow when on, grey when off; readings use the theme colour.
- The plugin picks the type from the device name first ("Ceiling Fan", "Desk Lamp"), then HomeSeer's
  device type, then the device's features and controls.
- All buttons (back, add, refresh, widgets, delete) use the same icon set.
- Fixed: turning a device on or off with the switch in the device list also opened the device page
  for a moment before going back to the list.
- Fixed: on a device without a switch, tapping its name could open the device page twice.


2.1  (2026-11-03)
-----------------
- New: TL Devices and TL Widgets are full screens (Tasker Scenes V2) instead of list menus:
  - device list with each device's state, status and an on/off switch;
  - device page with a large Turn on / Turn off button, all controls grouped by feature (the
    current one highlighted), sliders with a Set button, and buttons to add or remove its
    home-screen widget or remove it from the phone;
  - "Add device" page with a number keypad, and messages on the page instead of popups;
  - widgets page to create, remove and refresh widgets;
  - progress bar while HomeSeer answers; Back returns to the previous page.
- Plugin: new "States" call, so the device list loads with one request instead of one per device.
- Plugin: TL Get also returns each control's current value.
- Removed the old list-menu tasks: TL Add Device, TL Remove Device, TL Widget Pick, TL Widget Remove.
- Now needs Tasker 6.6 or newer.


2.0.1  (2026-11-03)
-------------------
- Fixed: a widget for a device with more than one On/Off feature (e.g. a Zigbee bulb with "Power On
  Behavior") always sent Off and turned yellow again while the device was off. The plugin now finds
  the feature that really switches the device, and the tap decides from that feature's own value
  (at its Off value -> send On, otherwise send Off).


2.0  (2026-11-03)
-----------------
- New: up to 4 phones. Each has its own name, API key, FCM token, HomeSeer device, Phone Controls
  and reports. Existing installs become Phone 1 with nothing to change on the phone.
- New: the phone picker on the Phone Controls page and a "Phone" list in every event action.
- New: each phone can be a HomeSeer speaker client ("TaskerLink:<phone name>"), so HomeSeer's own
  Speak action can speak on the phone. Optional HomeSeer login for speaker clients.
- New: home-screen widgets (Tasker Widget v2). Each shows one HomeSeer device as a lightbulb, yellow
  when on and grey when off; tap it to switch the device. HomeSeer pushes changes to the widget
  within a second or two.
- New: "Also create a home-screen widget" option when sending a device to a phone from HomeSeer.
- New: TL Widgets menu (create, remove, refresh); widgets also refresh every 30 minutes.


1.7  (2026-11-02)
-----------------
- New: "Phone Controls" page in HomeSeer's Plugins > TaskerLink menu: phone status, volume slider,
  music, toggles, screen and power, camera, call, text and speak, all on one page.
- New reports: Last Outgoing Call, Last Outgoing Text, Phone Uptime (every 30 min) and Last App Used
  (the home screen and keyboard are ignored, so it shows the last real app).
- Everything is in a single TaskerLink project in Tasker.
- The project uses the HomeSeer logo as its icon.
- Step-by-step README for first-time users, with where to copy every file.
- Release package with the plugin, Tasker project, README, NOTICES and full source code (AGPL-3.0);
  no personal information in any file.


1.6  (2026-11-02)
-----------------
- Changed: the text number and message are typed together in one box ("number: message").
- New: label buttons (Call number >, Text > number: message, Speak >) next to each text box, because
  HomeSeer always labels a text box's button "Submit".


1.5  (2026-11-02)
-----------------
- Changed: all phone commands are on one "Phone Controls" feature instead of separate features
  (HomeSeer 4 only allows controls on features). Its value is the phone's media volume.
- Fixed: music commands did nothing. They now go through the playing app's media notification.
- Fixed: calls and texts failed silently; the phone now flashes the reason.
- Fixed: phone numbers pasted with spaces, brackets, dashes or invisible characters failed. They are
  cleaned automatically.
- Fixed: text boxes on the device page were pre-filled with the last status; they are now empty.
- New: typing "number: message" in the text box sends to that number.


1.4  (2026-11-02)
-----------------
- New: control the phone from HomeSeer: volume (slider, mute, unmute, -, +), music (play, pause,
  stop, previous, next), flashlight, Wi-Fi, Bluetooth and hotspot toggles, screen on/off, reboot,
  turn off, take a picture (front/rear), record audio, call, end call, send a text, speak.
- New event action: "TaskerLink: Phone command" with fields for number, text and value.
- TL Receive Device now flashes "<device name> received and created" instead of a notification.


1.3  (2026-11-02)
-----------------
- New: send a device to the phone from HomeSeer: Plugins > TaskerLink > Settings > "Send a device to
  the phone" (searchable device list, optional name). The phone adds it to TL Devices.
- New: devices with several features (e.g. Zigbee bulbs) show all their features' controls in
  TL Devices, and each control is sent to the right feature.
- TL Setup: an introduction screen first, and the API key is pre-filled from the clipboard.
- Fixed: values passed to TL Call / TL Update could arrive empty or as the literal text "%par2".


1.1  (2026-11-02)
-----------------
- New: a ready-made TaskerLink project for Tasker (TL tasks), so no Tasker programming is needed.
- New: TL Setup asks for the HomeSeer address, user, password and API key; an optional home address
  is used automatically on your home Wi-Fi.
- New reports, each a Tasker profile you can turn on or off: battery, charging, screen, Wi-Fi,
  incoming call, received text and location. Their HomeSeer features are created automatically
  under a "Tasker Phone" device.
- New: TL Devices - control HomeSeer devices from the phone (add a device by its reference number,
  pick it, choose a control).
- New: TL Get (device name, value, status and controls as JSON) and TL Control for your own tasks.
- Plugin: an update from the phone that matches a device control (e.g. a lock) now sends a real
  control command instead of only setting the value.


1.0  (2026-11-02)
-----------------
First version: replaces the old HS3 Tasker/AutoRemote plugin for HomeSeer HS4.
- Phone -> HomeSeer: Tasker calls HomeSeer's own JSON API (pluginfunction "Update"), no AutoRemote.
- HomeSeer -> phone: Tasker Remote Action Execution through Firebase Cloud Messaging, so it works away
  from home over mobile data.
- New event actions: "TaskerLink: Run a Tasker task on the phone" (with variables, e.g. par1=Hello)
  and "TaskerLink: Speak or notify on the phone".
- HomeSeer replacement variables (e.g. $$DVR:1234:) work in the event actions.
