I built a simple Generator start/stop relay to interface between my Venus OS and Home Assistant on my RV since the single relay provided by Victron will not work for my Onan QG 4000 Generator. When the generator is cold or has not run for a while it could take up to 30 seconds to start.
I’m using a Wemos 32 (overkill but what I had on hand), 2-3.3V relays, and an Optocoupler to read the state of the Onan generator built into the RV. I’ve wired one relay to the Yellow Start circuit and the other to the Brown Stop circuit. The optocoupler ties into the Red run-time display on my control panel to sense if the generator is running. I have a very simple ESPHome yaml file programmed to the Generator Relay and I can control the starting and stopping of the Generator using Home Assistant.
I’m using MQTT and my plan is to get the start/stop/states from the Venus OS. I can publish
- victron-rv/W/INSTANCE/generator/0/AutoStartEnabled = {“value”:0}
- victron-rv/W/INSTANCE/generator/0/AutoStartEnabled = {“value”:1}
from Home Assistant and this is working fine.
I don’t have the two systems tied together yet while testing. When I start the generator with Home Assistant and receive the status that it’s running, I publish the state {“value”:1} to the topic “victron-rv/W/INSTANCE/generator/0/State” but the state does NOT update. When I stop the generator from Home Assistant and receive the status that it’s not running I publish the state {“value”:0} to the topic victron-rv/W/INSTANCE/generator/0/State" In either case, the state on the Venus OS does Not Update.
I’m using MQTT Explorer to watch the messages.
I did remote into the Venus OS console and did a manual start for 1 minute from there just to watch the messages. The generator does not yet start from the Venus OS during this point of the testing process. I’m not yet using the state value from Venus OS to start the generator.
- victron-rv/W/INSTANCE/generator/0/State = {“value”:1}.
- The Runtime and ManualStartTimer start the countdown.
- victron-rv/W/INSTANCE/generator/0/RunningByCondition = {“value”:“manual”}
- victron-rv/W/INSTANCE/generator/0/RunningByConditionCode = {“value”:1}
- victron-rv/W/INSTANCE/generator/0/ManualStartManualStart = {“value”:1}
When the manual start timer times out, - victron-rv/W/INSTANCE/generator/0/State = {“value”: 4}
- victron-rv/W/INSTANCE/generator/0/State = {“value”:0}
I also noticed I am unable to toggle the QuietHours on and off by publishing:
- victron-rv/W/INSTANCE/generator/0/QuietHours = {“value”:1} or
- victron-rv/W/INSTANCE/generator/0/QuietHours = {“value”:0}
Is there something preventing me from doing this? If so, I will not be able to finish the integration because I am relying on the state value do tie the two systems together. When I start the generator with Home Assistant, no timers run on the Venus OS. I’m assuming by writing the State {“value” = 1} will tell Venus OS that the generator is running.