Cannot control relay module


#1

Hi,

I cannot pair relay module - the RED LED light is on a don’t come off (like on others core modules) and relay is never paired. Should I try to flash new firmware? But which one? Or what’s wrong? I have minibattery module, core module r2.1 and relay module r1.3.

Other sensors, power power-controles, … work fine

Thanks
Petr


#2

Hi,
you have to upload different firmware to control the Relay Module. Choose one from the “generic” firmwares like:

bigclownlabs/bcf-generic-node-power-module-rgbw144

Then you can control Relay Module with MQTT commands listed here. Please see the “Relay Module” commands, do not confuse that with the relay that is on the power module.

The generic firmware node needs to be always listening on radio. Thats why you have to power the module by USB adapter or from Power Module. It will run from batteries but not longer for a week.

If you would like run it from batteries, there are some option with custom firmware, which I can help you with.

Martin


#3

The improtant thing is that generic firmware can automatically detect and control over radio/MQTT basically all BigClown modules and tags.

bigclownlabs/bcf-generic-node-battery-mini:v1.7.5
bigclownlabs/bcf-generic-node-battery-standard:v1.7.5
bigclownlabs/bcf-generic-node-power-module-rgb150:v1.7.5

The generic battery firmwares ARE low power and the radio is on only when transmitting. So you cannot control relays or send text to the LED strip or LCD display.
The generic power module firmware ARE NOT low power and the radio is always listening and consuming more energy. You can send MQTT commands to relay module, power module (control LEDs and relay), write text on the LCD.


#4

Hi,

thanks for reply, I understand

So I flashed
bigclownlabs/bcf-generic-node-power-module-rgb150:v1.7.5

now, I can pair the relay module. But I’m not sure, if it’s relaying, I cannot send MQTT commands for “relay module”, but it seems I can send MQTT for power module relay. But no green light (is there any)?

mosquitto_pub -t “node/rele-test/relay/0:0/state/get” -n

get nothing (according to docs, I should get true/false

mosquitto_pub -t “node/rele-test/relay/-/state/get” -n

node/rele-test/relay/-/state false

What’s wrong?

Thanks alot
Petr


#5

What is your setup? Do you use Playground on your PC, or bc-raspbian on Raspberry pi?

Make sure you send MQTT to the right node alias.
The Core Module contains temperature sensor, so after reset or when you breath on the sensor you get the new value, make sure in the Messages section that the MQTT topic that contains the temperature starts with the same “node/rele-test/” prefix.

This way you make sure that you send command to the right module

The “node/rele-test/relay/0:0/state/get” is the right topic. I take a look at this issue closer tomorrow, but can you also try address 0:1 ? Please see these commands https://github.com/bigclownlabs/bcf-generic-node#relay-module

The “node/rele-test/relay/-/state/get” is the topic for the different relay, which is on the Power Module. However even when you dont have the module connected, you can command it and you should get status.

The topics for command line are here https://github.com/bigclownlabs/bcf-generic-node

Please try to start with controlling the red LED on the Core Module.

mosquitto_pub -t "node/{id}/led/-/state/set" -m true

Martin


#6

Hello, I’ve tested the setup with Relay Module and firmware bigclownlabs/bcf-generic-node-power-module-rgb150:v1.7.5 and I can control the relay from console or node-red.

The LEDs blinks shortly only when the relay change its state.

If you cannot get it working, please answer my questions from previous post.

[{"id":"1f41ad2.e709453","type":"mqtt out","z":"8320f772.d570e8","name":"","topic":"node/generic-node:0/relay/0:0/state/set","qos":"","retain":"","broker":"29fba84a.b2af58","x":710,"y":220,"wires":[]},{"id":"410d6778.c3c1d8","type":"inject","z":"8320f772.d570e8","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":390,"y":200,"wires":[["1f41ad2.e709453"]]},{"id":"a48b9137.e028d","type":"inject","z":"8320f772.d570e8","name":"","topic":"","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":390,"y":240,"wires":[["1f41ad2.e709453"]]},{"id":"29fba84a.b2af58","type":"mqtt-broker","z":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","willTopic":"","willQos":"0","willPayload":""}]


#7

Hello,

thanks for reply, my setup is Turris with BCG. I’ll test it again on Sun

beset regards
Petr


#8

Hello,

I get a temp when power on relay module (using usb). I can set LED control on and off.

node/rele-test/info {“mode”: 0, “firmware”: “generic-node-power-module-rgb150”, “version”: “v1.7.5”}
node/rele-test/thermometer/0:1/temperature 29.50
node/rele-test/led/-/state/set true
node/rele-test/led/-/state true
node/rele-test/led/-/state/set false
node/rele-test/led/-/state false

But relay is not working (not get or set)
root@tlapka-sh:~/bin# mosquitto_pub -t “node/rele-test/relay/0:0/state/get” -n
root@tlapka-sh:~/bin# mosquitto_pub -t “node/rele-test/relay/0:1/state/get” -n

sub:
node/rele-test/relay/0:0/state/get (null)
node/rele-test/relay/0:1/state/get (null)

I’m not sure, what is wrong (bad relay module?)

Thanks
best regards
Petr


#9

I’ve created test program to toggle the relay every 500 ms, can you please flash it and test it?

Video of the test https://photos.app.goo.gl/BmnWsRe1JaMNatm49


#10

Hi,

test firmware is working well. Switching on/off every 1/2s.

I flashed again
bcf flash --device /dev/ttyUSB0 bigclownlabs/bcf-generic-node-power-module-rgb150:latest

And I can control relay - on/off, but cannot query the state of the relay.

This is working
mosquitto_pub -t “node/rele-test/relay/0:0/state/set” -m true
mosquitto_pub -t “node/rele-test/relay/0:0/state/set” -m false

but
mosquitto_pub -t “node/rele-test/relay/0:0/state/get” -n

provides (mosquitto_sub)
node/rele-kotel-obyvak/relay/-/state/get (null)

Thanks
regards
Petr


#11

Hi, I can confirm that the relay module does not send state when requested. It sends state when you switch the relay, but not when asked.

When I ask relay I don’t get response:
2018-09-24 19:35:28.71 node/rele-test/relay/0:0/state/get

However I can get state of Power Module Relay
2018-09-24 19:35:35.75 node/rele-test/relay/-/state/get
2018-09-24 19:35:35.89 node/rele-test/relay/-/state false

And also red LED on the Core Module
2018-09-24 19:35:38.13 node/rele-test/led/-/state/get
2018-09-24 19:35:38.26 node/rele-test/led/-/state false

I’ll take a look at it tomorrow and let you know.
Martin


#12

Hi,
we’ve had a small bug in Radio Dongle firmware. Please update your dongle with v1.11.0

Do not forget to stop bcg-ud service in pm2 first so you can flash it.

bcf update

Firmware:
bigclownlabs/bcf-gateway-usb-dongle:v1.11.0

Martin


#13

Hi,

thanks, I can confirm I get relay state with 1.11.0 usb dongle fw.

You can close this thread.

best regards
Petr