Golden Cheetah Automation integration

132 views
Skip to first unread message

John

unread,
Jun 5, 2024, 6:20:47 AMJun 5
to golden-cheetah-users
I am curious if anyone has written code that would allow telemetry collected by Golden Cheetah and sent it to an application such as MQTT?

The reason I ask is currently I am using Zwift integration to collect my current HR value and control fans in the training setup according to the intensity of the workout I am doing (Cycling and Running). I wish to remove the requirement for Zwift and rather move to using Golden Cheetah to control my workouts and using other visuals during workouts. So the issue would be the HR control, so curious if anyone has come across any integration between Home Assistant/NodeRed or MQTT that could achieve this?

Ale Martinez

unread,
Jun 5, 2024, 10:06:31 AMJun 5
to golden-cheetah-users
El miércoles, 5 de junio de 2024 a la(s) 7:20:47 a.m. UTC-3, John escribió:
I am curious if anyone has written code that would allow telemetry collected by Golden Cheetah and sent it to an application such as MQTT?

I haven't seen anything like this, Qt6 supports MQTT but it seems the module is not included in standard distributions which would make the building process more involved.
 
The reason I ask is currently I am using Zwift integration to collect my current HR value and control fans in the training setup according to the intensity of the workout I am doing (Cycling and Running). I wish to remove the requirement for Zwift and rather move to using Golden Cheetah to control my workouts and using other visuals during workouts. So the issue would be the HR control, so curious if anyone has come across any integration between Home Assistant/NodeRed or MQTT that could achieve this?

If you are looking for an off the shelf solution perhaps a bridge from BTLE (or ANT+ depending on your HR sensor) to MQTT could do that without involving GoldenCheetah.

John

unread,
Jun 5, 2024, 6:22:58 PMJun 5
to golden-cheetah-users
Yeah, was hoping to move away from zwift being the provider to something onprem and without the need to have a 3rd dongle, as wanted to start using the train component to do the training and things like zwift just to visualise it as my country isn't always good with internet so at least my training will be controllable just not picture. Seems I will need to keep it for now and see what else I could do as see its also not possible to call it from the api.

Ale Martinez

unread,
Jun 5, 2024, 8:30:32 PMJun 5
to golden-cheetah-users
El miércoles, 5 de junio de 2024 a la(s) 7:22:58 p.m. UTC-3, John escribió:
Yeah, was hoping to move away from zwift being the provider to something onprem and without the need to have a 3rd dongle, as wanted to start using the train component to do the training and things like zwift just to visualise it as my country isn't always good with internet so at least my training will be controllable just not picture.

GoldenCheetah Train has offline video sync, provided you take care to locate and download the proper videos, videosync and workout files to your local libray: https://github.com/GoldenCheetah/GoldenCheetah/wiki/FAQ-TRAIN#how-can-i-have-synchronized-video-in-my-training-session
 
Seems I will need to keep it for now and see what else I could do as see its also not possible to call it from the api.

I don't say it is not possible, only that  MQTT Qt module is not included in standard Qt distributions and it has to be compiled from source, here is a simple example: https://www.emqx.com/en/blog/how-to-create-an-mqtt-application-in-qt6, and it is a development project, off course.

John

unread,
Jun 6, 2024, 1:34:19 AMJun 6
to golden-cheetah-users
Ah ok awesome, thank you I will see what I can try build as I am sure there are a few who this would appeal to. So the python module isn't just analytics, that's good to know as means a variety of things are possible.

Mark Liversedge

unread,
Jun 6, 2024, 3:56:43 AMJun 6
to golden-cheetah-users
In terms of how you might do this- I would create a new realtime device that receives data rather than collects it.

We did anticipate the need to broadcast or send data out- the RealtimeController has a doesPush() method that should return true for these kinds of devices. However, I'm pretty sure it is not implemented- but should be relatively straight forward- take a look at TrainSidebar which links the GUI controls and events to the controller (Start, Stop, Pause, GetTelemetry etc). This is likely the best place to add the trigger to push data out.

Back in the day (2009?) Steve Gribble wrote all the code to transmit and receive data and it has since been deprecated- might or might not be useful- you will find it in the deprecated folder (SimpleNetworkController).

Mark

Reply all
Reply to author
Forward
0 new messages