- This project has started by finding a solution to read the flow temperature of a home heating device and log the value in Domoticz.
- Create a fit-for-purpose modular solution for sending all kind of sensor & actuator data to be handled by a Domoticz single device (RFXMeter) acting as a dispatcher (router).
- Develop the solution with B4R (Easily build native Arduino & ESP8266 programs) & Domoticz dzVents Automation Events.
433Mhz Transmitter, DHT22 (Temperature & Humidity), Reed Switch (Contact), Thermosensor MAX6675 (Temperature), SlidePot (Dimmer).
Read more information in this post of the B4R Forum (Anywhere Software).
Concept
The microcontroller sends RFXMeter messages to the Domoticz Home Automation System via a cheap 433Mhz transmitter.
The Domoticz Home Automation System, running on a Raspberry Pi, has a RFXCOM RFXtrx433e Transceiver connected to an USB port.
The RFXtrx433e transceiver receives the RFXMeter message and sends the message to Domoticz RFXMeter device (Hardware RFXCOM RFXtrx433e).
A Domoticz Automation Event (dzVents) listens to RFXMeter device changes, converts the message data and updates associated Domoticz device(s) or any other action.
The RFXMeter message data send is an unsigned long (ULong) value with range 0 - 16777215 (HEX FFFF, 3 Bytes from ULong data type).
It is also possible to send data to various Domoticz RFXMeter devices and handle Automation Events accordingly.
The RFXMeter device acts as a trigger to update other devices (or take any other action).
The ULong value contains packed information used by the Automation Event dzVents.
Example: DHT22 Temperature & Humidity sensor connected to an Arduino UNO.
The measured temperature, i.e. 19 C is sent to a Domoticz RFXMeter device with address 09 and assigned, via Automation Event dzVents, to a virtual sensor Temperature (Dummy hardware) with IDX=375.
The ULong value sent is 1337519: 1 3 375 19 - 1=Leading Number (fixed), 3=Length IDX, 375=IDX, 19=Temperature.
The dzVents script listens to device changes with IDX=384 (the RFXMeter), parses the RFXMeter sValue (ULong 1337519) for the device (IDX=375) and updates the device sValue (19).