Best wireless communication indoor

Hi everyone,
I have developed few personal projects for my home like a heating system with wireless thermostat, controlling the lights, automatic watering my garden and so on.
Although I consider that wired communication is much more reliable than wireless, there are situations when you can't (or don't want) to use wired communication. I have used HC-12 module in several cases and it works pretty well but I was wondering if there are better solutions for indoor communication?
I'm asking this because it looks like sometimes the messages from my wireless thermostat are lost. I have ordered from China a SMA antenna hopping that would solve my problem.
I have like 3 walls between the transmitter and receiver.
Power consumption is not a concern. Although my thermostats are working on battery, power consumption is not a huge problem because I use 16340 rechargeable Li-Ion (3.7 V, 700 mAh ~2.6Wh ), and with sleep techniques I can easily achieve few months of battery life.
Does anyone has suggestions for not very expensive solutions for indoor radio communication?
Thank you.

Probably the simplest is change the orientation of the antennas, it may help a lot or make it worse. You will not know unless you have tried. Have you considered building a repeater? WiFi would be an alternate. You say wireless but that is like guessing how many grains of sand are on the beach.

If you’ve already got WiFi throughout then why not jump on that? You can secure with a different subnet if you wish. All the other network types proclaim their superiority, but in essence use what you have or want. Zigbee, z-wave, Bluetooth, and the like all have their acolytes, but without testing in your environment, you’ll never really know. It is the vagaries of radio! I know as all my rooms do a good impression of a faraday cage! Having got the WiFi going, I use that.

As first pass, get all your antennas in same orientation, strongest signal is perpendicular to the antenna, and a ground plane can help too.

The main reason why I don't like WiFi is due to the fact that it uses 2.4 Ghz or 5 Ghz which cannot penetrate very well the walls. In addition there are high chances you have other WiFi devices nearby interfering with your devices.
Of course, WiFi offers a lot of speed but I only need to transfer like 8-32 Bytes of data. From security point of view, I'm aware of it and I know how to make my communications secured (changing encryption keys all the time and so on).
I also believe that WiFi consumes more power but that is not very important.
In conclusion, I think ~433 Mhz or ~866 Mhz are a better choice for my needs.
A repeater might be a good solution and I will consider. First, I will try with new antennas which I have ordered from AliExpress.

Just another side note here. With the standard HC-12 I managed to communicate over 200 m distance in open air, straight orientation. I've also managed to communicate from my apartment to my friend apartment which is located 2 blocks aways (so there are 2 blocks with walls between my apartment and his apartment). So during the initial tests I was very satisfied but in real use case it looks like I'm losing some data randomly.
My thermostat device is on battery and it wakes up every 1 minute and it sends the temperature to the "master" node which is permanently powered on and it does not wait for confirmation... Maybe I should retry the transmission until it succeed.
Any thoughts from anybody?
Thank you.

Use LoRa, long range and good noise immunity. The long range means it will work indoors in much larger buildings than FSK systems like the HC12 is capable off. Avaialble in 434Mhz, 868Mhz and 915Mhz depending on where you are in the world.

If you want to move lots of data around then use 2.4Ghz LoRa, in this band there are few duty cycle restrictions. This is long distance capable also, up to 89km recorded line of sight.

srnet:
Use LoRa, long range and good noise immunity. The long range means it will work indoors in much larger buildings than FSK systems like the HC12 is capable off. Avaialble in 434Mhz, 868Mhz and 915Mhz depending on where you are in the world.

If you want to move lots of data around then use 2.4Ghz LoRa, in this band there are few duty cycle restrictions. This is long distance capable also, up to 89km recorded line of sight.

Thank you.
Do you have any advise on which devices/chips to use for LoRa? Usually LoRa chips are a bit more expensive but that would be fine in order to achieve my purposes.

Some LoRa modules are more expensive than modules such as HC12, and some are cheaper. But the differences are small and hardly significant in any reasonable project.

In essense all LoRa modules use the same Semtech silicon so the performance is the same.

The SPI based LoRa modules are a better choice, easier to put into low current sleep mode.

As an example of LoRa sensors see here;

srnet:
Some LoRa modules are more expensive than modules such as HC12, and some are cheaper. But the differences are small and hardly significant in any reasonable project.

In essense all LoRa modules use the same Semtech silicon so the performance is the same.

The SPI based LoRa modules are a better choice, easier to put into low current sleep mode.

As an example of LoRa sensors see here;

Just how long can a sensor battery last? | StuartsProjects

Nice project :). I also have BME280 sensor and from my experiments mcp9808 is much more reliable than BME280. For me, BME280 indicates with 1 celsius degree higher temperature and it can't be because of self heating since I read it every 1 minute. HC-12 has indeed an inconvenience by working on USART because you kind of need a precise source of clock to make sure the serial communication works correctly (especially when you have a low MCU clock - for power saving reasons).
Also, from my experience the HC-12 module needs about 32 ms to wake up (I prefer to cut its power with a transistor). Then you also have to wait around 50-80 ms for the MCU in HC-12 to really send the data it already received on Serial interface. So after all my Serial data is flushed to HC-12, I still have to wait ~50 ms more before the data is sent through radio.
In my thermostat project, I used mcp9808 together with the BME280 on the same bus. In this way I can have temperature readings from 2 sources. Of course, for absolute truth, the sensors should be calibrated based on another temperature sensor which is considered the source of truth :).

Oh, and for battery, I prefer Li-Io 16340 because they deliver between 3V to 4.2 V (and 750 mAh) and they are quite small, which means you can power almost any device directly without any voltage regulator. However, you have to be careful to not go below 3V otherwise you can break the battery. So one solution is to use self power loop with a transistor + start push button + BOD detection at ~3V with interrupt. That would give you a chance to send a message to master that the battery is empty. Another solution is to use "Step Up Down DC-DC Automatic Buck Boost Power Module Board Input 3V-15V Output Electronic DIY S09 3.3V/5V/4.2V/9V/12V" a small module which will shutdown under 3V protecting your battery.