Need assistance/ideas for Battery powered IOT Reminder Device

I am in need of a visual / audio? reminder for various tasks.The closest i get is done here by Andreas Spizz.

The use would be for:

  • Medication Reminder (Will lie by the pillbox)
  • Washing Machine/Dryer etc. done
  • Feed the pet
  • Warning for traffic
    etc.

The way Andreas Spizz made is very convenient; using a led tact switch, if you see the reminder/warning lit, press the button and the light is off. Doing this project is quite easy, no problem on hardware and sketch side. But i need some changes:

  1. Aside from google calendar, incorporating a 2 way mqtt messaging would let us use HA either with automations or switches. It is doable, no problem here.
  2. To make it mobile, ie. with batteries. Here comes my problem…

In order to make it battery operated, using an ESP8266 with deep sleep is required. If we make it deep sleep; than it loses the logic of reminding on time. If we make it wake up every XX seconds/minutes configurable and check for retained mqtt messages, this might be a solution. Or using low power BLE, zigbee etc?

The low power IOT battery wifi-zigbee solutions always work (naturally) 1 sided, no polling but pushing the values to the server/gateway, like sensors.

At this point i would like to get your opinions and help to solve the battery problem. It would be the ideal solution if battery lasts at least a week. Thanks…

Zigbee is designed for long battery life, unlike Wi-Fi devices.

So, after i looked for a while, there are 3 alternatives:

  1. ESP8266 with deep sleep
  2. zigbee (maybe xbee?) , as @Prodigyplace suggested.
  3. RF 433 MHz

I really am no expert on electronics, so i was wondering the battery consumption comparison of these three. As i said earlier; it will be checking retained mqtt message every XX minutes and if there is a message, it will light up the indicator LED, and when i press that button t will send back ‘completed’ mqtt message back to HA and make that LED off.

I got may LED tact buttons and will start this project: