GitHub repository: mr-manuel/venus-os_dbus-mqtt-temperature
I wrote this script for myself. I'm not responsible, if you damage something using my script.
You like the project and you want to support me?
The script emulates a temperature sensor in Venus OS. It gets the MQTT data from a subscribed topic and publishes the information on the dbus as the service com.victronenergy.temperature.mqtt_temperature
with the VRM instance 100
.
Copy or rename the config.sample.ini
to config.ini
in the dbus-mqtt-temperature
folder and change it as you need it.
Login to your Venus OS device via SSH. See Venus OS:Root Access for more details.
Execute this commands to download and copy the files:
wget -O /tmp/download_dbus-mqtt-temperature.sh https://raw.githubusercontent.com/mr-manuel/venus-os_dbus-mqtt-temperature/master/download.sh
bash /tmp/download_dbus-mqtt-temperature.sh
Select the version you want to install.
Press enter for a single instance. For multiple instances, enter a number and press enter.
Example:
1
will install the driver to /data/etc/dbus-mqtt-temperature
.2
will install the driver to /data/etc/dbus-mqtt-temperature-2
.Edit the config file to fit your needs. The correct command for your installation is shown after the installation.
If you pressed enter or entered 1
during installation:
nano /data/etc/dbus-mqtt-temperature/config.ini
If you entered 2
during installation:
nano /data/etc/dbus-mqtt-temperature-2/config.ini
Install the driver as a service. The correct command for your installation is shown after the installation.
If you pressed enter or entered 1
during installation:
bash /data/etc/dbus-mqtt-temperature/install.sh
If you entered 2
during installation:
bash /data/etc/dbus-mqtt-temperature-2/install.sh
The daemon-tools should start this service automatically within seconds.
⚠️ If you have multiple instances, ensure you choose the correct one. For example:
To uninstall the default instance:
bash /data/etc/dbus-mqtt-temperature/uninstall.sh
To uninstall the second instance:
bash /data/etc/dbus-mqtt-temperature-2/uninstall.sh
⚠️ If you have multiple instances, ensure you choose the correct one. For example:
To restart the default instance:
bash /data/etc/dbus-mqtt-temperature/restart.sh
To restart the second instance:
bash /data/etc/dbus-mqtt-temperature-2/restart.sh
⚠️ If you have multiple instances, ensure you choose the correct one.
The logs can be checked with tail -n 100 -f /data/log/dbus-mqtt-temperature/current | tai64nlocal
The service status can be checked with svstat svstat /service/dbus-mqtt-temperature
This will output somethink like /service/dbus-mqtt-temperature: up (pid 5845) 185 seconds
If the seconds are under 5 then the service crashes and gets restarted all the time. If you do not see anything in the logs you can increase the log level in /data/etc/dbus-mqtt-temperature/dbus-mqtt-temperature.py
by changing level=logging.WARNING
to level=logging.INFO
or level=logging.DEBUG
If the script stops with the message dbus.exceptions.NameExistsException: Bus name already exists: com.victronenergy.temperatureinverter.mqtt_temperature"
it means that the service is still running or another service is using that bus name.
This software supports the latest three stable versions of Venus OS. It may also work on older versions, but this is not guaranteed.