Encrypting and Authenticating The Simplex Communication Between Embedded Devices
For my answer, I'll assume that you have symmetric keys pre-shared between your heater and your sensors. If your devices have enough computational power to support asymmetric cryptography (which will increase workload by a large factor and message length by at least 32 bytes) the answer will be different (and provide stronger guarantees).


AES-128 CCM is a good choice for your use-case because your hardware supports the required primitives, e.g. AES-CTR and AES-CBC.  Authentication in cryptography means ensuring the correct source of information. If information is tampered in transit, the tampering party is the new source. Assuming you pre-share the symmetric keys in advance, AES-CCM will ensure the data actually came from a party holding the key or otherwise return an error upon decryption.
Actually you can do better than that. AES-CCM requires a so-called (12-byte) nonce  for operation for each message. This nonce only needs to be unique to provide the full security guarantees and so you can define the nonce to be a counter whereby the nonce gets incremented by one each message. If a too-small counter (IV) arrives, you can simply reject the message. You only need to ensure that the length field for CCM is long enough to describe your message length (4 bytes would be good).
Sadly no. If you use pre-shared keys, there's no further need for randomization from the cryptographic side of things. If you'd involve asymmetric cryptography, the RNG would actually prove useful (for generating temporary keys and such).
The best solution would be for your nodes to actually digitally sign the data they send, assuming the heater has the public keys in advance, so he can validate the signatures. However, such signatures tend to be computationally expensive and so may not be an option for you.