How to: use data from Shelly Pill with attached temperature sensor in VRM dashboard

Hi,

I’d like to make use of Opportunity loads in OS 3.80 to heat a water boiler.

The logic will require a temperature sensor to start and stop heating therefore I chose “The Pill by Shelly” (updated to OS 2.0.1)

Unfortunately I fail to pair it with my GX device using “Bluetooth Sensor” in Remote Console and I could not find the topic in online manuals for GX devices.

Only reference is in 279210-GX_Opportunity_Loads-pdf-en.pdf but there it states:

Any help explaining how to get the temperature from the Pill to GX device would be appreciated.

Thanks Michael

Moving to nodered as that is possibly your best option.
I don’t believe that device has native support, the Shelly support list is specific and for wifi devices.
The supported blueteeth list is short- ruuvi, mopeka etc.

You will need a custom integration to use it, or to change to a supported sensor.

Opportunity loads is an even shorter list currently, though this will expand.

(These are all documented in the relevant manuals)

The official Shelly support is only via WiFi/LAN.

isn´t this one of these devices that has to be paired with another shelly wifi product like a power socket?

Those can only relay a supported sensor, like a ruuvi or solarsense etc.

The Shelly BLU sensors communicate via Bluetooth with a Shelly device that acts as a gateway. This “master” then forwards the data via Wi-Fi or LAN. A Shelly Plus, Pro, Gen3 or Gen4 (excluding sensors) or a separate Shelly BLU Gateway is suitable for this. Shelly Europe

Examples include BLU H&T for temperature and humidity, BLU Door/Window for door and window contacts, and BLU Motion for motion and brightness.

If venus does not support the shelly sensor being forwarded, it will not appear.

yes, but there are solutions:

Absolutely. It just requires some integration. Using the shelly blu gateway myself.

Thanks Matthias!

Could you please provide the link to the quoted document, so I can read further?

Thanks Nick!

Maybe you’d have a link to the relevant manual?
Asking because I was only able to find it in the separate doc 279210-GX_Opportunity_Loads-pdf-en.pdf linked from release notes :frowning:

That seems unnecessary because “The Pill” has WiFi, BT and even MQTT built-in
see https://www.shelly.com/products/the-pill-by-shelly?_pos=1&_psq=the%20pill&_psid=d83458ba0&_ss=e

@kr0815 MQTT sounds like the way forward then. Will read a bit more on this topic and come back with questions :slight_smile:

The GX manual.

If it has WiFi you should try to connect it that way.

Thanks Matthias,

The referenced “Cerbo GX manual” is much more detailed than the generic “GX Manual” linked for MultiPlus-II GX :slight_smile:

That was my first attempt but it wasn’t leading to a result :frowning:

One reason: the referenced “Connecting Temperature Sensors section for compatibility and connection instructions.” in 9. Configuration gives only a “page not found” error, without mentioning “how to report this issue”.

Start here on the announcement topic, it has the links you are looking for.

I guess that broken link should go here:

But I guess that doesn’t help you because that is about the wired Victron sensors.

Shelly products have an separate section but the “Pill” is not listed there.

Current conclusion for using Shelly Pill as temperature sensor in GX device with VenusOS 3.80 is:

  • connecting via WiFi will not work
  • connecting via BlueTooth will not work
  • only viable option seems MQTT as suggested by @kr0815

Unfortunately enabling MQTT as described in GitHub - freakent/dbus-mqtt-devices: A driver for Victron VenusOS GX devices to support use of dbus-mqtt/flashmq-mqtt · GitHub has its own challenges !

Currently I’m struggle at enabling Venus OS: Root Access [Victron Energy] using Remote Console “New UI, select, drag down and hold down the entire list of the Access & Security menu entries for five seconds, and until you see the Access level change to super user.”

The part “select, drag down and hold down the entire list of the Access & Security menu entries for five seconds” does not work on Vivaldi (a Chrome-based browser)

  1. part worked

  2. part just moves the listed option down the screen with no other change!

Update: finally succeeded

I would consider using nodered for this.
It is much simpler to use and is part of the large Venus OS image.
It contains all the necessary virtual devices you would need to interface with the system/VRM and eventually to use for opportunity loads.

For superuser access, just hold the right arrow cursor key down.

Seems to be another option but never used NodeRed before :frowning:

Installing MQTT aborts with error though

root@nanopi:/data/drivers# ./dbus-mqtt-devices-0.9.0/bin/setup.sh
dbus-mqtt-devices: Setup in /data/drivers/dbus-mqtt-devices-0.9.0 started
dbus-mqtt-devices: Setup-dependencies started
dbus-mqtt-devices: Python version is 3.11 or greater, need to ensure tomllib is installed
dbus-mqtt-devices: Updating opkg package list
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/all/Packages.gz.
Updated source 'all'.
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/Packages.gz.
Updated source 'cortexa7hf-neon-vfpv4'.
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/nanopi/Packages.gz.
Updated source 'nanopi'.
dbus-mqtt-devices: Checking to see if library python3-tomllib is installed
Installing python3-tomllib (3.12.14) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-tomllib_3.12.14-r0_cortexa7hf-neon-vfpv4.ipk.
Configuring python3-tomllib.
dbus-mqtt-devices: Library python3-tomllib installed successfully
dbus-mqtt-devices: Checking to see if Python's Pip is installed
/usr/bin/python: No module named pip
dbus-mqtt-devices: Checking to see if library python3-pip is installed
Installing python3-xmlrpc (3.12.14) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-xmlrpc_3.12.14-r0_cortexa7hf-neon-vfpv4.ipk.
Installing python3-plistlib (3.12.14) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-plistlib_3.12.14-r0_cortexa7hf-neon-vfpv4.ipk.
Installing python3-difflib (3.12.14) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-difflib_3.12.14-r0_cortexa7hf-neon-vfpv4.ipk.
Installing python3-pkg-resources (69.1.1) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-pkg-resources_69.1.1-r0_cortexa7hf-neon-vfpv4.ipk.
Installing python3-unittest (3.12.14) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-unittest_3.12.14-r0_cortexa7hf-neon-vfpv4.ipk.
Installing python3-setuptools (69.1.1) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-setuptools_69.1.1-r0_cortexa7hf-neon-vfpv4.ipk.
Installing python3-pip (24.0) on root
Downloading https://updates.victronenergy.com/feeds/venus/release/packages/scarthgap/cortexa7hf-neon-vfpv4/python3-pip_24.0-r0_cortexa7hf-neon-vfpv4.ipk.
Configuring python3-difflib.
Configuring python3-plistlib.
Configuring python3-pkg-resources.
Configuring python3-unittest.
Configuring python3-setuptools.
Configuring python3-xmlrpc.
Configuring python3-pip.
dbus-mqtt-devices: Library python3-pip installed successfully
dbus-mqtt-devices: Pip install module dependencies
Collecting dataclasses
Downloading dataclasses-0.6-py3-none-any.whl.metadata (3.0 kB)
Downloading dataclasses-0.6-py3-none-any.whl (14 kB)
Installing collected packages: dataclasses
Successfully installed dataclasses-0.6
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: 

Collecting PyYAML~=6.0 (from -r /data/drivers/dbus-mqtt-devices-0.9.0/requirements.txt (line 1))
Downloading pyyaml-6.0.3.tar.gz (130 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.0/131.0 kB 1.5 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: -9
╰─> [21 lines of output]
/var/volatile/tmp/pip-build-env-309cvyhh/overlay/lib/python3.12/site-packages/setuptools/_vendor/wheel/bdist_wheel.py:4: FutureWarning: The 'wheel' package is no longer the canonical location of the 'bdist_wheel' command, and will be removed in a future release. Please update to setuptools v70.1 or later which contains an integrated version of this command.
warn(
/var/volatile/tmp/pip-build-env-309cvyhh/overlay/lib/python3.12/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

          ********************************************************************************
          Please consider removing the following classifiers in favor of a SPDX license expression:

          License :: OSI Approved :: MIT License

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
          ********************************************************************************

  !!
    self._finalize_license_expression()
  running egg_info
  writing lib/PyYAML.egg-info/PKG-INFO
  writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
  writing top-level names to lib/PyYAML.egg-info/top_level.txt
  No `pyyaml_build_config` setting found.
  cythoning yaml/_yaml.pyx to yaml/_yaml.c
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: -9
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Connection to venus closed by remote host.