coachproxy-os
coachproxy-os copied to clipboard
RPi 4b issues
I am trying to get this running so that I can see how much of it will be useable with a new Tiffin 2024 allegro bus. The end goal is to get this working and use MQTT to tie this all back into home assistant. I have done the Ansible install after fighting a bunch of errors along the way due to new versions or things I am able to get to a node red screen but there is zero flows showing up.
I am just wondering if anyone would be willing to work back and forth with me to see if we can get it running? I enjoy some scripting and Linux but am not an expert. Just a simple network engineer.
Hi @ImJustJosh , assuming you can SSH into the Pi, can you provide some outputs:
ls -l /coachproxy/node-red/
ls -l /coachproxy/rv-c/
The node-red path should have the flows_coachproxy.json as well as a few other files and directories.
The rv-c path should contain several perl files which handle the sending of RV-C commands.
The /coachproxy path in general should have a file structure and contents from roles/coachproxy/files.
Just trying to gauge how badly broken it may be. :)
Also tagging @greendog99 who did the ansible and floor plan selection coding, in case he can weigh in.
It might be easier to skip Ansible and just download the lastest CoachProxy OS image and start working with that. Probably select the latest (2019? 2020?) Allegro Bus option in the config. At least you're guaranteed to having working Node-RED flows when you start up, which you can use as a starting point. The Ansible config hasn't been updated in 5 years so I'd not expect it to work with all the new/updated RPi OS stuff.
The "magic" of the auto-configurator (choose a year+model+floorplan+options) is that there's a "master" node-red json config that has EVERYTHING for every coach, and I use a pretty insanely complicated set of jq (https://jqlang.github.io/jq/) commands to edit that json config to delete the stuff not needed for your coach, and to change the CAN ids as needed. However, you're probably better off starting with the latest Bus config as mentioned above, and manually making changes in the Node-RED UI.
Also, the CoachProxy Facebook group has a lot of active users who have updated the configs for newer coaches (probably not a 2024, but close) and may have tips for how to control various new devices. Also, folks there have replaced the included "ngrok" remote access software with something else (dataplicity? something like that) which works better, and have written instructions for updating the habridge Alexa integration software to work with Amazon's latest Alexa software.
Have you gotten the latest build image to work on the 4 B? I tried that option today and I just get the 4 flash saying the pi isn’t able to boot. I’ll have to play around a bit more to see if I need to go backwards to a v3 pi or if I can get it to work on the 4. I’ll check out the Facebook group to see if anyone has had my same issues. Thanks
In general, there's little benefit to running anything newer than a Pi 3B, and anything newer uses more power and potentially generates more heat and costs more ( base retail anyway ). So there hasn't been much effort on updating the image to boot on the 4B.
Thanks for the quick response. I’ll order a 3 and see if I can get that running. I had the 4b from a different project so I thought I would try it first.
Hi
Below are my notes for new install using ansible on an rpi4 (i dont remember if this is for bookworm or bullseye). I believe your node-red issues are related to the version of JRE. Downgrade it to JRE17 and it might resolve your issues.
With regard to homeassistant, I have that running in a docker container on the same rpi4 running coachproxy. I am using rvc2mqtt to interface directly with the RV-CAN. Moral of the story is yes, you can do this.
Right now I have HVAC control, water pump, aqua hot as well as ceiling fan working. I wrote a plugin for dimmers (even tho all my lights in my 2019 Allegro RED 33AA are on/off they are handled as dimmers by the Spyder control system), so i have working control of lighting and panel back lighting as well. I also have read only status display for holding tanks, and DC power It is still very much a work in progress, I need to redo the fan lid control, and need to add ability to poll the RV-CAN bus for status of devices as they don’t all announce their current status and eventually time out (status=unknown) in homeassistant.
build coachproxy from ansible on bullseye (debian 11)
edit roles/locale-us/tasks/main.yml comment out depreciated warn: in this section
- name: Delete non-en locale files to save space shell: rm -rf /usr/share/locale/[a-d,f-z]* args:
warn: no
removes: /usr/share/locale/zu
become: true
edit roles/base_os/tasks/main.yml change this section to jdk17
-
name: Ensure Java 8 JRE is installed become: true apt: name: openjdk-8-jre-headless state: present
-
name: Ensure Java 17 JRE is installed become: true apt: name: openjdk-17-jre-headless state: present
to fix this error: TASK [base_os : Install required Perl modules] *************************************************************************************************************************** failed: [cp-build] (item=Switch) => {"ansible_loop_var": "item", "changed": false, "item": "Switch", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."} failed: [cp-build] (item=Wifi::WpaCtrl) => {"ansible_loop_var": "item", "changed": false, "item": "Wifi::WpaCtrl", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."} failed: [cp-build] (item=Net::MQTT::Simple) => {"ansible_loop_var": "item", "changed": false, "item": "Net::MQTT::Simple", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."} failed: [cp-build] (item=JSON) => {"ansible_loop_var": "item", "changed": false, "item": "JSON", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."} failed: [cp-build] (item=JSON::Parse) => {"ansible_loop_var": "item", "changed": false, "item": "JSON::Parse", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."} failed: [cp-build] (item=DBD::SQLite) => {"ansible_loop_var": "item", "changed": false, "item": "DBD::SQLite", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."} failed: [cp-build] (item=YAML::Tiny) => {"ansible_loop_var": "item", "changed": false, "item": "YAML::Tiny", "msg": "Unsupported parameters for (cpanm) module: system_lib. Supported parameters include: executable, from_path, installdeps, locallib, mirror, mirror_only, mode, name, name_check, notest, version (pkg)."}
just comment out #system_lib: true in this section section. seems to work fine
- name: Install required Perl modules
cpanm:
name: "{{ item }}"
#system_lib: true
become: true
with_items:
- Switch
- Wifi::WpaCtrl
- Net::MQTT::Simple
- JSON
- JSON::Parse
- DBD::SQLite
- YAML::Tiny
if not, then install the modules manually seems to resolve the issue
cpanm install Switch
Wifi::WpaCtrl
Net::MQTT::Simple
JSON
JSON::Parse
DBD::SQLite
YAML::Tiny
On Sep 24, 2024, at 15:57, Joshua Koll @.***> wrote:
I am trying to get this running so that I can see how much of it will be useable with a new Tiffin 2024 allegro bus. The end goal is to get this working and use MQTT to tie this all back into home assistant. I have done the Ansible install after fighting a bunch of errors along the way due to new versions or things I am able to get to a node red screen but there is zero flows showing up.
I am just wondering if anyone would be willing to work back and forth with me to see if we can get it running? I enjoy some scripting and Linux but am not an expert. Just a simple network engineer.
— Reply to this email directly, view it on GitHub https://github.com/linuxkidd/coachproxy-os/issues/33, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACKBTKAORBYODTAMOLOEEJDZYG7Y5AVCNFSM6AAAAABOZBEXOOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2DMMRWGMYTQMQ. You are receiving this because you are subscribed to this thread.
-- /steve
Also looking more at my notes -- The info above is for using ansible to install on bullseye (debian 11).
For bookworm (debian 12) -- you can do a fresh install on an rpi4 and just install coachproxy via git. Install openjdk-17-jre-headless/stable and all of the perl dependancies in the ansible yaml and it'll work...
Downside is that the coachproxyos nodered config workflow will not work and you will have to manually create the floorplan in sql, not a huge deal. For the 2019 33AA the sql for the floorplan is:
CREATE TABLE IF NOT EXISTS "configs" (
key TEXT UNIQUE,
value TEXT,
PRIMARY KEY(key)
);
INSERT INTO configs VALUES('year','');
INSERT INTO configs VALUES('model','');
INSERT INTO configs VALUES('floorplan','');
INSERT INTO configs VALUES('aquahot','false');
INSERT INTO configs VALUES('floorheat','false');
INSERT INTO configs VALUES('ceilfan','false');
INSERT INTO configs VALUES('tvlift','false');
INSERT INTO configs VALUES
I was able to figure out those ansible edits but I never tried a clean install after that. I just kept rerunning the playbook to see where it would get stuck next. Ended up with a node red error but it seemed to load the page so I thought it was alright. The original issue I had was the pi user and group didn’t exist so I have to manually create those and build the home directory. I’ll try a fresh install with the ansible mods from the start and see where I end up. Thanks for all the notes! Much appreciated! On Sep 24, 2024, at 7:23 PM, stevegoldsmith @.***> wrote: Also looking more at my notes -- The info above is for using ansible to install on bullseye (debian 11). For bookworm (debian 12) -- you can do a fresh install on an rpi4 and just install coachproxy via git. Install openjdk-17-jre-headless/stable and all of the perl dependancies in the ansible yaml and it'll work... Downside is that the coachproxyos nodered config workflow will not work and you will have to manually create the floorplan in sql, not a huge deal. For the 2019 33AA the sql for the floorplan is: CREATE TABLE IF NOT EXISTS "configs" ( key TEXT UNIQUE, value TEXT, PRIMARY KEY(key) ); INSERT INTO configs VALUES('year',''); INSERT INTO configs VALUES('model',''); INSERT INTO configs VALUES('floorplan',''); INSERT INTO configs VALUES('aquahot','false'); INSERT INTO configs VALUES('floorheat','false'); INSERT INTO configs VALUES('ceilfan','false'); INSERT INTO configs VALUES('tvlift','false'); INSERT INTO configs VALUES
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
Not sure where to post, as it doesn't seem like there is much of a community but I took a project to modernize this after trying to help my dad and some friends who were trying to use CoachProxy and the difficulty it was to install/configure and maintain. I am currently working on a complete restructure and development of a more user friendly deployment with some enhanced features that don't 'hopefully' rely on direct RV-C mapping to the DGN or instances and handle device discovery more robustly. I am currently in early development and iterative planning of the system design, but overall it will be a 2 part design with a web based frontend hosted (vercel + supabase) and local server running on a Rpi similar to how coachproxy is self contained. But the Rpi will be a NestJS sever with the local backend that will communicate with the PWA app. The goal is to enable a nearly plug and play system with ability to have OTA updates, local and remote management and quick deployment and recovery for less technically inclined.
Any insight in possible community or where I can see if anyone wants to collab or test this out, a lot of the initial design and plan came from inspiration from all of our hard work in CoachProxy.
Hi @kryptobaseddev , sounds like you've got an ambitious project on yours hands! Eager to see where you go with it.
I have moved away from coachproxy UI, and instead I pipe data from CP / NodeRED into Home-Assistant which is about the gold standard of home automation software.
For community, you may find some quick help / willing participants in the CoachProxy Facebook group.
Best of luck!
I also built out some plumbing between CP and home assistant. I use Mqtt and created topics with payloads that match the existing .pl formats. Fast to implement without needing to redesign the entire system. Yes it’s more hard coded but the automations are pretty straight forward to build in home assistant. On Jan 28, 2025, at 5:40 PM, Michael J. Kidd @.***> wrote: Hi @kryptobaseddev , sounds like you've got an ambitious project on yours hands! Eager to see where you go with it. I have moved away from coachproxy UI, and instead I pipe data from CP / NodeRED into Home-Assistant which is about the gold standard of home automation software. For community, you may find some quick help / willing participants in the CoachProxy Facebook group. Best of luck!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>