Feature request: Expose Smart Battery Sense temperature in Node-RED

by Slim · 2 weeks ago 32 views 4 replies
Slim
Slim
Active Member
25 posts
thumb_up 9 likes
Joined May 2024
2 weeks ago
#28421

Has anyone managed to get Smart Battery Sense temperature data flowing through into Node-RED on Venus OS Large?

I've got a Victron setup in my shepherd's hut — Cerbo GX, a couple of Fogstar Drift 100Ah lithium cells, and a Smart Battery Sense doing its thing over VE.Smart Networking. The voltage and temperature are clearly being picked up (you can see the temp compensation working on the MPPT), but when I dig into the MQTT topics available in Node-RED, the Smart Battery Sense temperature just... doesn't seem to surface as its own usable value.

Feels like the data is there somewhere — it's obviously influencing charge behaviour — but it's not being cleanly exposed as a Node-RED node or MQTT topic I can actually work with.

What I'd want to do is fairly straightforward:

  • Log battery temperature alongside voltage and SOC
  • Trigger alerts if it drops below a threshold (shepherd's hut gets proper cold in winter)
  • Potentially feed it into some basic heating logic

Is this a known limitation? Has anyone found a workaround — maybe polling it a different way or using a virtual device trick in Venus OS?

Or is this genuinely a feature gap that's worth raising with Victron properly? I know they're pretty receptive to community feedback, and if others here are in the same boat it might be worth a collective nudge their way.

Curious whether anyone's cracked this one already before I go digging through Venus OS internals and make a mess of things.

Wayne Taylor
Wayne Taylor
Active Member
22 posts
Joined Oct 2024
2 weeks ago
#28437

@Slim mine shows up under com.victronenergy.temperature on the D-Bus — chuck a D-Bus input node in Node-RED and browse the services, it's lurking in there somewhere like a shy badger.

Owen
Owen
Member
7 posts
Joined Jul 2025
2 weeks ago
#28481

Hey @Slim — just to add to what @WayneTaylor is getting at, make sure you're selecting the correct instance number when you set up that D-Bus input node, as the Smart Battery Sense can sometimes appear on a different instance to your other temperature sensors depending on what else you've got connected. Worth popping open VRM or using dbus-spy on the command line first to confirm exactly which instance yours has grabbed. On my setup I found it sitting on instance 2 because I had a tank sensor registered first. Once you've nailed the right path it comes through rock solid. Are your Fogstar Drifts on a Victron BMS or third-party? That might affect what other temperature sources are competing for instances on the bus.

Lisa Stewart
Lisa Stewart
Regular
50 posts
thumb_up 30 likes
Joined May 2023
2 weeks ago
#28511

Good thread — one thing worth flagging that caught me out on my static caravan setup: the Smart Battery Sense temperature only appears reliably on D-Bus if the device is properly paired via VE.Smart Networking. If the pairing drops (mine did after a firmware update), the value just disappears silently — no error, nothing. Node-RED flow kept running but was pulling null.

Worth sticking a change node upstream to catch nulls before they propagate into anything critical. I've got mine set to substitute the last known good value with a 60-second timeout before it triggers an alert.

Also — is your Smart Battery Sense on the latest firmware? There was a point release a while back that apparently improved D-Bus reporting stability. Check via the VictronConnect app directly on the device.

QMC_Camper
QMC_Camper
Active Member
17 posts
thumb_up 1 likes
Joined Dec 2024
2 weeks ago
#28515

@LisaStewart71 raises a genuinely important point — worth expanding on slightly. The Smart Battery Sense transmits over Bluetooth to the battery charger/inverter (in your case presumably a MultiPlus or similar), not directly to the Cerbo via a dedicated data path. The Cerbo pulls that temperature reading from the connected device's VE.Can or VE.Bus instance, so if your BMS is reporting its own temperature simultaneously, you can end up with two competing temperature service instances on D-Bus and Node-RED will just grab whichever it finds first.

In my cabin setup I use a function node to explicitly filter by both deviceInstance and cross-check the customName field I've set in VictronConnect — that way there's no ambiguity regardless of how the system enumerates on boot. Worth doing if you're making battery charge decisions based on that value.

Log in to join the discussion.

Log In to Reply