8000 2023 Chevrolet Bolt - Custom PID Codes / Profile · Issue #393 · meatpiHQ/wican-fw · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

2023 Chevrolet Bolt - Custom PID Codes / Profile #393

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
points-unknown opened this issue Apr 30, 2025 · 5 comments
Open

2023 Chevrolet Bolt - Custom PID Codes / Profile #393

points-unknown opened this issue Apr 30, 2025 · 5 comments

Comments

@points-unknown
Copy link

I am just getting into my wican pro and I can't figure out how to bulk add additional PIDs. There is a pretty complete PID mapping available for this vehicle (as there is for so many) and I want to add several of them to the vehicle specific output.

When I select "Chevrolet: Bolt" from the vehicle model list it just vies me 2 PIDs. At least , that's what I see. When I try to upload a custom "Vehicle Profile" json file, it... reloads and does... nothing. I am sure I have a syntax issue or something, but it's hard for me to tell, since I am not following the documentation very well - or rather, it appears there might be some different syntax depending on ... something.

I kinda expected it to be like Torque - where I could just upload the CSV and then it would load all the PIDs in that list. But then I went down the rabbit hole of making it fit this JSON schema.

In any case, below is my custom vehicle PID file. It's just converted to the provided json schema using a python script. I would love help either troubleshooting this json so it 'just works' or to have the Bolt profile updated with these PIDs. Happy to do whatever I can to help.

{
    "cars": [
        {
            "car_model": "Chevrolet: Bolt EV",
            "init": "ATSP6;ATST96;",
            "pids": [
                {
                    "pid": "2245F9",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Bat_Cap_Raw",
                        "expression": "((A*256)+B)/100",
                        "class": "battery",
                        "unit": "Ah",
                        "min": "100",
                        "max": "250"
                    }
                },
                {
                    "pid": "2245F9",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Bat_Cap_Est",
                        "expression": "((A*256)+B)*0.0032",
                        "class": "battery",
                        "unit": "kWh",
                        "min": "30",
                        "max": "70"
                    }
                },
                {
                    "pid": "228334",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Batt_%_DIC",
                        "expression": "A*100/255",
                        "class": "battery",
                        "unit": "%",
                        "min": "0",
                        "max": "100"
                    }
                },
                {
                    "pid": "2243AF",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "SoC_Raw_HD",
                        "expression": "((((A*256)+B)*100)/65535)",
                        "class": "battery",
                        "unit": "%",
                        "min": "0",
                        "max": "105"
                    }
                },
                {
                    "pid": "2240D4",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Batt_Amps_HD",
                        "expression": "((Signed(A)*256)+B)/20",
                 
8000
       "class": "battery",
                        "unit": "A",
                        "min": "-400",
                        "max": "250"
                    }
                },
                {
                    "pid": "2243A5",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "#_Charges",
                        "expression": "((A<8)+B)",
                        "class": "battery",
                        "unit": "",
                        "min": "0",
                        "max": "1000"
                    }
                },
                {
                    "pid": "2241A4",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Batt_Coolant",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "180"
                    }
                },
                {
                    "pid": "224349",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Max_Batt",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "150"
                    }
                },
                {
                    "pid": "22434A",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Min_Batt",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "150"
                    }
                },
                {
                    "pid": "22434F",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Batt_Avg",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "150"
                    }
                },
                {
                    "pid": "222416",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Batt_Max_2",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "150"
                    }
                },
                {
                    "pid": "222417",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Batt_Min_2",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "150"
                    }
                },
                {
                    "pid": "22433B",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Min_Batt_V",
                        "expression": "((A*256)+B)*0.52",
                        "class": "battery",
                        "unit": "V",
                        "min": "250",
                        "max": "410"
                    }
                },
                {
                    "pid": "22433C",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Max_Batt_V",
                        "expression": "((A*256)+B)*0.52",
                        "class": "battery",
                        "unit": "V",
                        "min": "250",
                        "max": "410"
                    }
                },
                {
                    "pid": "224369",
                    "parameters": {
                        "name": "CAC_Amps",
                        "expression": "A*.2",
                        "class": "battery",
                        "unit": "A",
                        "min": "0",
                        "max": "40"
                    }
                },
                {
                    "pid": "224368",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "CAC_Volts",
                        "expression": "A*2",
                        "class": "battery",
                        "unit": "V",
                        "min": "0",
                        "max": "500"
                    }
                },
                {
                    "pid": "224533",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "CAC_Amps_Req",
                        "expression": "A*0.3",
                        "class": "battery",
                        "unit": "A",
                        "min": "0",
                        "max": "160"
                    }
                },
                {
                    "pid": "22436C",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "CDC_Amps",
                        "expression": "((Signed(A)*256+B))/20",
                        "class": "battery",
                        "unit": "A",
                        "min": "0",
                        "max": "200"
                    }
                },
                {
                    "pid": "22436B",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "CDC_Volts",
                        "expression": "((A*256)+B)/2",
                        "class": "battery",
                        "unit": "V",
                        "min": "0",
                        "max": "500"
                    }
                },
                {
                    "pid": "224423",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "DCC+ve_Iso",
                        "expression": "A*2",
                        "class": "battery",
                        "unit": "V",
                        "min": "0",
                        "max": "250"
                    }
                },
                {
                    "pid": "224423",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "DCC-ve_Iso",
                        "expression": "B*2",
                        "class": "battery",
                        "unit": "V",
                        "min": "0",
                        "max": "250"
                    }
                },
                {
                    "pid": "224424",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "DCC_Curent",
                        "expression": "((A*256)+B-32768)/128",
                        "class": "battery",
                        "unit": "A",
                        "min": "0",
                        "max": "150"
                    }
                },
                {
                    "pid": "224425",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "DCC_Port_Temp",
                        "expression": "((A-40)*9/5)+32",
                        "class": "battery",
                        "unit": "F",
                        "min": "-40",
                        "max": "150"
                    }
                },
                {
                    "pid": "224445",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "DCC_Curr_Req",
                        "expression": "((A*256)+B-32768)/128",
                        "class": "battery",
                        "unit": "A",
                        "min": "0",
                        "max": "150"
                    }
                },
                {
                    "pid": "224531",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Charge_Level",
                        "expression": "A",
                        "class": "battery",
                        "unit": "Level",
                        "min": "0",
                        "max": "3"
                    }
                },
                {
                    "pid": "2243AE",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "?_Chrg_Active",
                        "expression": "A",
                        "class": "battery",
                        "unit": "?",
                        "min": "0",
                        "max": "10"
                    }
                },
                {
                    "pid": "2224AB",
                    "pid_init": "ATSH7E4",
                    "parameters": {
                        "name": "Chrg_Inactive",
                        "expression": "((A*256)+B)*2",
                        "class": "battery",
                        "unit": "sec",
                        "min": "0",
                        "max": "131072"
                    }
                }
            ]
        }
    ]
}

Any help is much appreciated.

@meatpiHQ
Copy link
Owner
meatpiHQ commented May 4, 2025

@points-unknown The profile schema has changed a bit, we recently standardized the parameters, check params.json

{
  "car_model": "Chevrolet: Bolt",
  "init": "ATSP6;ATST96;",
  "pids": [
    {
      "pid": "2283341",
      "pid_init": "ATSH7E4",
      "parameters": {
        "SOC": "(B4*100)/255"
      }
    },
    {
      "pid": "2241A31",
      "pid_init": "ATSH7E4",
      "parameters": {
        "BATT_CAPACITY": "[B4:B5]/10"
      }
    }
  ]
}

To transform the expression from Torque to WiCAN format you can check the table blow

Image

@points-unknown
Copy link
Author
points-unknown commented May 15, 2025

I am not sure I am understanding what to do here correctly. Using the example above, my desire is to add additional PIDs to the vehicle specific profile. So, for example I would make a new bolt_advanced.json file with the following:

{
  "car_model": "Chevrolet: Bolt",
  "init": "ATSP6;ATST96;",
  "pids": [
    {
      "pid": "2283341",
      "pid_init": "ATSH7E4",
      "parameters": {
        "SOC": "(B4*100)/255"
      }
    },
    {
      "pid": "2241A31",
      "pid_init": "ATSH7E4",
      "parameters": {
        "BATT_CAPACITY": "[B4:B5]/10"
      }
    },
    {
      "pid": "2243AF",
      "pid_init": "ATSH7E4",
      "parameters": {
        "SoC_Raw_HD": "((((B5*256)+B6)*100)/65535)"
      }
    },
    {
      "pid": "224368",
      "pid_init": "ATSH7E4",
      "parameters": {
        "CAC_Volts": "B5*2"
      }
    }
  ]
}

This takes the base json schema from bolt.json and adds two additional PIDs, from the CSV that works in torque, but with converted bytes for the A and B designations in torque going to B5 and B6, per the above.

Then on the WiCan web app, i go to >> Automate >> vehicle specific >> vehicle profiles and choose my my new bolt_advanced.json file. When I do this, the page reloads, takes me back to status. And when I go back to automate I get... nothing new.

Is this expected behavior? Am I doing something wrong? Help appreciated, as always. Thanks.

@meatpiHQ
Copy link
Owner

@points-unknown The profile upload format is still based on the old schema. I'll have to merge this profile in the repo to generate the profile properly. If you want to test you can add these as a custom PIDs. Or you can submit a PR and I'll merge it then you can test.

@windseye
Copy link

I have the same problem with my 2023 Chevrolet Bolt EUV. SOC and Battery Capacity are unavailable, even with fresh reinstallation of Homeassistant with the vehicle on

@meatpiHQ
Copy link
Owner

@windseye can you please provide car scanner logs?

https://meatpihq.github.io/wican-fw/car_scanner/logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants
0