# SolarMD - Logger upgrade firmware causes all flows to fail

**URL:** https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903
**Category:** General
**Created:** [1 July 2025 19:05 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903 "2025-07-01T19:05:54Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [1 July 2025 19:05 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/1 "2025-07-01T19:05:54Z")

</div>

I have multiple flows that reads many MQTT feeds.  
My LoggerV2 for SolarMD recently received a firmware update and I just cannot get messages from this topic.  
The payload:

> Blockquote  
> solarmd/ES Control Service/SMDBEX20226532 {"name":"solarmd/ES Control Service/SMDBEX20226532 ","data":{"sniu":true,"serialNumber":"SMDBEX20226532 ","deviceID":null,"alertMap":{},"lastUpdate":1751391526005,"voltageV":52.29,"currentA":-19.57,"powerW":-1021.5540000000001,"capacityP":60.0,"capacityAh":166.72715194444444,"ratedCapacityAh":280.0,"ratedVoltageV":51.2,"ratedChargeCurrentC":0.7142999999999999,"ratedDischargeCurrentC":0.7142999999999999,..................

> Blockquote  
> Basic step to confirm the node is configure correct:
> 
> ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/9/a9b80dfd0beb80e384e6c72e8f6f5598be391a59.png)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/7/f76dec78ba58af57fa30a7a965a8abb48d1080df.png)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/4/e4d1946d8c6d2716249e529f34029b72e1832b89.png)

What I do not understand is: I have copied the Topic from the feed:  
mosquitto\_sub -v -t "#" -u "XXXXXX" -P "123456", so it is correct  
The debug nodes does not display ANY payload nor does the Debug messages.

All other flows are still working perfect - I am just unable to get this topic to through a msg

Ideally I would lik eto get the msg: capacityP which in the topic above is ":60.0,"

- Node version cfd97bf1.314cf8
- Node-RED version v3.0.2
- MQTT broker mosquitto version 2.0.11

Any help will be appreciated!!

---

<div class="post-metadata">

### Author: ![FireWizard52](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/firewizard52/32/34508_2.png) [@FireWizard52](https://discourse.nodered.org/u/FireWizard52)
#### Post date: [1 July 2025 20:36 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/2 "2025-07-01T20:36:32Z")

</div>

You use spaces in your topic name.  
Although it is technically allowed, it is not recommended. A space is the enemy of every programmer.  
Use hyphens or underscores instead.

---

<div class="post-metadata">

### Author: ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)
#### Post date: [1 July 2025 20:38 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/3 "2025-07-01T20:38:44Z")

</div>

> [@fritserasmus](#):
>
> solarmd/ES Control Service/SMDBEX20226532

If your experiments with mosquitto\_sub have proved that your logger is both connected to the broker and publishing using that topic, your next step should probably be to upgrade node-red and node.js. Node-red 3.0.2 is a long way behind. The value you have given for node.js version looks like a node id within NR. Ideally you need node.js v22

---

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [2 July 2025 05:41 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/4 "2025-07-02T05:41:44Z")

</div>

> [@jbudd](#):
>
> js v22

@FireWizard52 ,

I understand what you say, but I have no control over the topic being published.  
This is the topic that my Solar Battery Logger sends out.  
I also tried "solarmd/ES Control Service/SMDBEX20226532" and solarmd/"ES Control Service"/SMDBEX20226532 for the topic, but neither is not working.

Do you have a suggestion how to get around this?

Thanks

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [2 July 2025 07:00 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/5 "2025-07-02T07:00:05Z")

</div>

> [@fritserasmus](#):
>
> Do you have a suggestion how to get around this?

Start by upgrading as suggested.

---

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [2 July 2025 07:20 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/6 "2025-07-02T07:20:13Z")

</div>

Thanks Colin - Working on it

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [2 July 2025 07:34 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/7 "2025-07-02T07:34:27Z")

</div>

If it still doesn't work then subscribe to `solarmd/#` and use a Switch node to pass only the topics you are interested in.

---

<div class="post-metadata">

### Author: ![FireWizard52](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/firewizard52/32/34508_2.png) [@FireWizard52](https://discourse.nodered.org/u/FireWizard52)
#### Post date: [2 July 2025 14:26 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/8 "2025-07-02T14:26:30Z")

</div>

Hello @fritserasmus

I copied your published flow in an Inject node, as far as it was possible, as it ends with a number of dots.

I works as expected (with spaces in the topic)

See:

```auto
[
    {
        "id": "9299412e7544f31f",
        "type": "inject",
        "z": "5f109901cbe25d34",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "solarmd/ES Control Service/SMDBEX20226532",
        "payload": "{\"name\":\"solarmd/ES Control Service/SMDBEX20226532 \",\"data\":{\"sniu\":true,\"serialNumber\":\"SMDBEX20226532 \",\"deviceID\":null,\"alertMap\":{},\"lastUpdate\":1751391526005,\"voltageV\":52.29,\"currentA\":-19.57,\"powerW\":-1021.5540000000001,\"capacityP\":60,\"capacityAh\":166.72715194444444,\"ratedCapacityAh\":280,\"ratedVoltageV\":51.2,\"ratedChargeCurrentC\":0.7142999999999999,\"ratedDischargeCurrentC\":0.7142999999999999}}",
        "payloadType": "json",
        "x": 390,
        "y": 380,
        "wires": [
            [
                "8ae706b817056c3d",
                "0ba07f6216fc9cc4"
            ]
        ]
    },
    {
        "id": "c68833f101c36eb0",
        "type": "mqtt in",
        "z": "5f109901cbe25d34",
        "name": "solarmd/ES Control Service/SMDBEX20226532",
        "topic": "solarmd/ES Control Service/SMDBEX20226532",
        "qos": "0",
        "datatype": "auto-detect",
        "broker": "38b35487299a036d",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 500,
        "y": 460,
        "wires": [
            [
                "19f97b9c579d185b"
            ]
        ]
    },
    {
        "id": "8ae706b817056c3d",
        "type": "mqtt out",
        "z": "5f109901cbe25d34",
        "name": "",
        "topic": "",
        "qos": "0",
        "retain": "false",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "38b35487299a036d",
        "x": 610,
        "y": 380,
        "wires": []
    },
    {
        "id": "19f97b9c579d185b",
        "type": "debug",
        "z": "5f109901cbe25d34",
        "name": "debug 79",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 800,
        "y": 460,
        "wires": []
    },
    {
        "id": "0ba07f6216fc9cc4",
        "type": "debug",
        "z": "5f109901cbe25d34",
        "name": "debug 82",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 620,
        "y": 340,
        "wires": []
    },
    {
        "id": "38b35487299a036d",
        "type": "mqtt-broker",
        "name": "Raspberry Pi 1",
        "broker": "192.168.10.51",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "autoUnsubscribe": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]

```

You said also:

> What I do not understand is: I have copied the Topic from the feed:  
> mosquitto\_sub -v -t "#" -u "XXXXXX" -P "123456", so it is correct  
> The debug nodes does not display ANY payload nor does the Debug messages.

> All other flows are still working perfect - I am just unable to get this topic to through a msg

Are you really sure, that there is no hidden character in the topic, such as a space after it?

Regards

---

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [2 July 2025 21:14 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/9 "2025-07-02T21:14:28Z")

</div>

pi@raspberrypi:~ $ node -v  
v20.19.3  
pi@raspberrypi:~ $ npm -v  
10.8.2

Let see how the Logger's topic works now  
I wil test and provide update

---

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [2 July 2025 21:54 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/10 "2025-07-02T21:54:30Z")

</div>

@Colin ,

solarmd/# gives me a feed!!!

I just now have to figure out how the "Switch node" works.

# **I receive this message:**

solarmd/ES Control Service/SMDBEX20226532 : msg : Object  
object  
topic: "solarmd/ES Control Service/SMDBEX20226532 "  
payload: object  
name: "solarmd/ES Control Service/SMDBEX20226532 "  
data: object  
sniu: true  
serialNumber: "SMDBEX20226532 "  
deviceID: null  
alertMap: object  
lastUpdate: 1751492369654  
voltageV: 53.07  
currentA: 44.105  
**powerW: 2353.4428**  
capacityP: 60  
**capacityAh: 167.87193305555556**  
ratedCapacityAh: 280  
**ratedVoltageV: 51.2**  
ratedChargeCurrentC: 0.7142999999999999  
ratedDischargeCurrentC: 0.7142999999999999 .....................etc...

To get the PowerW from the switch I tried this:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/4/1/41c275040a0c76ef10b1feb346341b9389edc56e.png)

Obviously I am doing it wrong since there is no feed from this.

Could you perhaps nudge me in the right direction please?

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [2 July 2025 22:07 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/11 "2025-07-02T22:07:18Z")

</div>

> [@fritserasmus](#):
>
> Obviously I am doing it wrong since there is no feed from this

Yeah. But you're close. I'm posting a couple of the pre-canned replies below. They are worth absorbing (will get you moving much faster)

* * *

There’s a great page in the docs ([Working with messages : Node-RED](https://nodered.org/docs/user-guide/messages)) that will explain how to use the debug panel to find the right path/value for any data item.

Pay particular attention to the part about the buttons that appear under your mouse pointer when you over hover a debug message property in the sidebar.

![BX00Cy7yHi](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/d/bd1f333a9e043b061b39917c328b0094d3e52d30.gif)

Also...

I recommend watching this playlist: [Node-RED Essentials](https://www.youtube.com/playlist?list=PLyNBB9VCLmo1hyO-4fIZ08gqFcXBkHy-6). The videos are done by the developers of node-red. They're nice & short and to the point. You will understand a whole lot more in about 1 hour. A small investment for a lot of gain.

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [3 July 2025 06:26 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/12 "2025-07-03T06:26:01Z")

</div>

And what you need to do in the switch node is test msg.topic for the value you want to allow through.

---

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [3 July 2025 12:09 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/13 "2025-07-03T12:09:41Z")

</div>

Steve-Mci,

THANK YOU!!, that made a world of difference.

Doing it thi sway I fu=igured out that the Topic had a space at the end, All is now working just perfect for ME.

All the right stuff where it is needed:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/e/7/e73e5f4982607cdc85ab01a50e8e75a06b88cdbe.png)

---

<div class="post-metadata">

### Author: ![FireWizard52](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/firewizard52/32/34508_2.png) [@FireWizard52](https://discourse.nodered.org/u/FireWizard52)
#### Post date: [3 July 2025 13:36 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/14 "2025-07-03T13:36:46Z")

</div>

Hi @fritserasmus

Do you remember, that I wrote:

> Are you really sure, that there is no hidden character in the topic, such as a space after it?

I think, that almost everybody has been trapped once.

Regards

---

<div class="post-metadata">

### Author: ![fritserasmus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fritserasmus/32/274_2.png) [@fritserasmus](https://discourse.nodered.org/u/fritserasmus)
#### Post date: [4 July 2025 15:12 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/15 "2025-07-04T15:12:52Z")

</div>

@FireWizard52 ,

Yes, I remembered it, but the issue was I could not determine if there were spaces untill I did the solarmd/# thing and then copy the PATH.

Remember I an the consumer of the msg , I had to rely on info provided and the info in th elogger is incorrect.

Doing a mosquitto\_sub -v -t "#" -u "XXXXXX" -P "123456" on the RPi did not PROPERLY indicate the space, so I was a bit blind folded.

It will definitely help other in the future to follow this strategy incas ethey think there MIGHT be a space or some kind of hidden character.

Thanks for teh help anyway.  
(to be a bit fair here: the laststime I looked at the flow was more than 2 years ago)  
I am a bean counter!

Have fun and thanks for the kind help!!

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [2 October 2025 15:13 UTC](https://discourse.nodered.org/t/solarmd-logger-upgrade-firmware-causes-all-flows-to-fail/97903/16 "2025-10-02T15:13:44Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
