diff --git a/.github/workflows/create-release.yaml b/.github/workflows/create-release.yaml index af9aa6f..d5b88e0 100644 --- a/.github/workflows/create-release.yaml +++ b/.github/workflows/create-release.yaml @@ -26,7 +26,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v2 with: - dotnet-version: 7.x + dotnet-version: 8.x - name: Publish Binaries working-directory: src/Server diff --git a/README.md b/README.md index 35ad304..01c7a63 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,17 @@ --- -This application allows you to monitor most chinese hybrid inverters such as `sako, epever, easun, mpp, voltronic, axpert, etc.` in realtime via USB port as an alternative to the wifi kit/module and cloud based apps such as smartess, watchpower, smartclient, etc. which can be at times unreliable. +This application allows you to monitor chinese hybrid inverters such as `MPPSolar, Epever, Must,, Easun, Voltronic Axpert, etc.` in realtime via USB/Serial port as an alternative to the wifi module and cloud based apps such as SmartESS, Watchpower, Smartclient, etc. which can be at times unreliable. -For this to work, you need to connect a linux computer such as a raspberry/orange pi or any other linux computer to the inverter via USB cable. Windows will not work due to the non-existence of a working device driver. +For this to work, you need to connect a linux computer such as a raspberry/orange pi or any other linux computer to the inverter via USB/Serial cable. Windows will not work due to the non-existence of a working device driver. -Once your inverter is connected via USB, a new device path should appear in `/dev/hidraw0`. Once that's available and if your inverter supports the **Voltronic** communication protocol, all you have to do is execute the `InverterMon.Server` executable. The the binaries can be downloaded from the [releases section](https://github.com/dj-nitehawk/Hybrid-Inverter-Monitor/releases). Make sure to choose the correct architecture (x64/arm) for your machine. +Once your inverter is connected via a data cable, a new device path should appear either in `/dev/hidrawX` or `/dev/ttyUSBX`. Once that's available and if your inverter supports the **Voltronic** communication protocol, all you have to do is execute the `InverterMon.Server` executable. The binaries can be downloaded from the [releases section](https://github.com/dj-nitehawk/Hybrid-Inverter-Monitor/releases). Make sure to choose the correct architecture (x64/arm) for your machine. After the application has started successfully, you can simply open up a web browser and navigate to `http://ip.address.of.machine` to see the dashboard. It may take up to 5 seconds for the data to show up initially. If you have a firewall, please open port `80` to facilitate communication. -In order to make the application/server automatically start at bootup, follow the below procedure to create a `systemd` service. +In order to make the application/server automatically start at boot, follow the below procedure to create a `systemd` service. # Auto Start Configuration Steps @@ -24,9 +24,11 @@ open the following file (or the correct one for your OS): add the following text to the end: ``` -KERNEL=="hidraw0", SYMLINK="hidraw0", TAG+="systemd" +KERNEL=="ttyUSB1", SYMLINK="ttyUSB1", TAG+="systemd" ``` +if your device is mounted as a **hidraw** device, change the value above to `hidrawX`. + create a new file for the service `sudo nano /etc/systemd/system/invertermon.service` @@ -35,7 +37,9 @@ copy/paste the following: ```ini [Unit] Description=Hybrid Inverter Monitor -After=dev-hidraw0.device + +#change here if device is hidraw +After=dev-ttyUSB1.device [Service] Type=simple @@ -64,12 +68,12 @@ restart the machine to check if the service was configured correctly. # JK BMS Support If you have a JK BMS + JK RS485 adapter + USB->TTL adapter, simply wire them up correctly and plug it in to the computer. The app will try to connect to the BMS via serial port by default at address `/dev/ttyUSB0`. -If your USB->TTL device is mounted at a different device path, simply upate the `appsettings.json` file with the correct path like so: +If your USB->TTL device is mounted at a different device path, simply update the `appsettings.json` file with the correct path like so: ```json { "LaunchSettings": { - "JkBmsAddress": "/dev/ttyUSB1", + "JkBmsAddress": "/dev/ttyUSB1" } } ``` - + \ No newline at end of file diff --git a/src/Server/Properties/PublishProfiles/FolderProfile.pubxml b/src/Server/Properties/PublishProfiles/FolderProfile.pubxml index 836f864..3eab780 100644 --- a/src/Server/Properties/PublishProfiles/FolderProfile.pubxml +++ b/src/Server/Properties/PublishProfiles/FolderProfile.pubxml @@ -1,20 +1,20 @@  - - true - false - true - Release - x64 - FileSystem - D:\DOWNLOADS\invertermon - FileSystem - - net8.0 - linux-arm64 - b608f59f-4c72-43fd-820c-a0badf4591af - true - true - true - + + true + false + true + Release + x64 + FileSystem + D:\DOWNLOADS\invertermon + FileSystem + + net8.0 + linux-arm64 + b608f59f-4c72-43fd-820c-a0badf4591af + true + true + false + \ No newline at end of file diff --git a/src/changelog.md b/src/changelog.md index f7a3fa0..93b2e67 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -1,3 +1,5 @@ ## changelog -- revert pre-allocating of pv graph -- cache charge ampere values on first call and prevent refetching from inverter \ No newline at end of file + +- reduce jk bms charge ampere value cache size for faster updates +- upgrade project to .net 8 +- misc. minor code refactors \ No newline at end of file