1. How to Run Victron Veconfigure on a Mac

    Mon 04 March 2024


    Victron Multiplus-II inverter/charges are configured with the veconfigure1 tool. Unforntunately this is a Windows-only tool, but there is still a way for Apple users to run this tool without any problems.

    Tip: if you've never worked with the Terminal app on MacOS, it might not be an easy process, but I've done my best to make it as simple as I can.

    A tool called 'Wine' makes it possible to run Windows applications on MacOS. There are some caveats, but none of those apply to veconfigure, this tool runs great!

    I won't cover in this tutorial how to make the MK-3 USB cable work. This tutorial is only meant for people who have a Cerbo GX or similar device, or run VenusOS, which can be used to remotely configure the Multipluss device(s).

    Step 1: install brew on macos

    Brew is a tool that can install additional software

    1. Visit https://brew.sh and copy the install command
    2. open the Terminal app on your mac and paste the command
    3. now press 'Enter' or return

    It can take a few minutes for 'brew' to install.

    Step 2: install wine

    Enter the following two commands in the terminal:

    brew tap homebrew/cask-versions
    brew install --cask --no-quarantine wine-stable

    Download Victron veconfigure

    1. Visit this page
    2. Scroll to the section "VE Configuration tools for VE.Bus Products"
    3. Click on the link "Ve Configuration Tools"
    4. You'll be asked if it's OK to download this file (VECSetup_B.exe) which is ok

    Start the veconfigure installer with wine

    1. Open a terminal window
    2. Run cd
    3. Enter the command wine Downloads\VECSetup_B.exe
    4. Observe that the veconfigure Windows setup installer starts
    5. Click on next, next, install and Finish
    6. veconfigure will run for the first time

    Click on the top left button on the video to enlarge

    These are the actual install steps:

    How to start veconfigure after you close the app

    1. Open a terminal window
    2. Run cd
    3. Run cd .wine/drive_c/Program\ Files\ \(x86\)/VE\ Configure\ tools/
    4. Run wine VEConfig.exe

    Observe that veconfigure starts

    Allow veconfigure access to files in your Mac Download folder

    1. Open a terminal window
    2. Run cd
    3. run cd .wine/drive_c/
    4. run ls -n ~/Downloads

    We just made the Downloads directory on your Mac accessible for the vedirect software. If you put the .RSVC files in the Downloads folder, you can edit them.

    Please follow the instructions for remote configuration of the Multiplus II.

    1. Click on the "Ve Configuration Tools" link in the "VE Configuration tools for VE.Bus Products" section. 

    Tagged as : Uncategorized
  2. Tunneling Elixir Cluster Network Traffic Over Wireguard

    Tue 07 November 2023


    The other day I was supporting a customer with an Elixir-based platform that would make use of Elixir libcluster, so messages on one host can be passed to other hosts. This can - for example - enable live updates for all users, even if they are not communicating with the same application server.


    Elixir's libcluster does support encrypted communication using TLS certificates however I was struggling with the help of an application developer to make it work.

    "severity":"warn","message":"[libcluster:example] unable to connect to :\"app@Host-B\"

    I'm absolutely open to the idea that we did something wrong and certificate-based encryption will work, but we were time-constrained and we decided to opt for another solution that seemed simpler and easier to maintain.

    Wireguard as the encrypted transport

    I deployed a Wireguard mesh network between all application servers using Ansible, which was straight forward. We just provisioned all hosts into the /etc/hosts file to keep things simple.

    In the table below, we show a simplified example of the setup.

    Hostname IP-address Wireguard Hostname Wireguard IP-address
    Host-A Host-A-wg
    Host-B Host-B-wg

    The Elixir applications would only know about the Host-A|B-wg hostnames and thus communicate over the encrypted VPN tunnel.

    The problem with wireguard and libcluster

    The key issue with libcluster is that when Host-A connects to Host-B, it uses the DNS hostname Host-B-wg hostname. But the actual hostname of Host-B is - you guess it: 'Host-B'. This means there is a mismatch and for reasons unknown to me, the libcluster connection will fail.

    So the target hostname as configured in libcluster must match the hostname of the actual host! Since libcluster seems to make usage of domain names mandatatory, using IP-addresses was not an option.

    If we would point Host-B to it's Wireguard IP-address (, the problem would be solved. However, in that case, Wireguard doesn't know about the external IP address and also tries to connect to the non-existing address. So the Wireguard tunnel would never be created.

    The solution

    The solution is not that elegant, but it works. We still point the Host-B domain name to the wireguard IP address of but we create an additional DNS record specifically for Wireguard, pointing to, so it can setup the VPN tunnel.

    This is what /etc/hosts looks like on Host-A: Host-A Host-B Host-B-wg

    And this is what /etc/hosts looks like on Host-B: Host-B Host-A Host-A-wg


    Although all choices are a tradeoff, for us, the Wireguard-based solution makes most sense. Especially now that we have an encrypted tunnel between all hosts and any future communication between hosts can thus be encrypted without any additional effort.

    Tagged as : Uncategorized
  3. IKEA $50 VINDSTYRKA vs. $290 Dylos Air Quality Monitor

    Sun 17 September 2023

    This is a brief article in which I compare the IKEA VINDSTYRKA $50 air quality monitor (PM2.5) with a $290 air quality monitor made by Dylos to see if it's any good.


    If you care about indoor air quality, you may already own a CO2 to determine if it's time to ventilate your space a bit1.

    But a CO2 monitor doesn't tell you anything about the amount and size of particulate matter in the air.

    Of particular interest are very fine particles, in the "PM2.5" category. Those particles are 2.5 micrometers or smaller in diameter can embed themselves deep inside the lungs and cause health issues.

    Both air quality monitoring devices are specifically measuring PM2.5 particulate matter, so that's what we will focus on in this test.

    DYLOS DC1100 PRO

    I bought a Dylos DC1100 Pro in 2014 as I was quite interesting in the topic of air quality at that time. As I had to import the device, I believe I had to pay around 400 Euros for it but it's now for sale in the US for around $290.

    Dylos DC1100 Pro click on the image for a picture of the back

    I specifically chose this model because it has a serial port, which allows me to log data and maybe spot some trends. I was thinking about using this data to control my air circulation system in my home, but I never got around to building this.

    This device (without serial port) is also explored in-depth by Matthias Wandel, who many of you probably know from his 1.7M subscribers Youtube channel. Tip: he shows the inside of the device.

    Note that this video is from 10 years ago and I find it remarkable that the Dylos 1100 Pro is still sold - seemingly unmodified - over the years.


    Recently, I discovered that IKEA is now selling the VINDSTYRKA air quality monitor with support for Zigbee. The product is intended to be used with IKEAs range of air purifiers, to better finetune the behaviour of those devices.


    The device measures PM2.5 particulate matter and also monitors temperature and humidity. All data is exposed over Zigbee. I've not tested this myself but I wonder how long it would last on a battery bank as it's USB powered.

    Due to the low price tag, I decided to compare this $50 device (€40) with my Dylos. I think it's quite an interesting device because the Zigbee support allows you to integrate the device in home automation and log data, if you have a need for that.

    Data logging setup

    De Dylos device is a bit of a pain, because the measurement values are in particulates per square foot, so I had to find a proper conversion formula, which I found in this paper (page 17). The formula is:

    PM2.5 Dylos DC1100 (μg/m3) = (particles > 0.5 μm minus particles > 2.5 μm)/250.

    A Raspberry Pi 3B+ is running a Python script that reads the data from the serial port, converts it to PM2.5 values using the previous mentioned formula and transmits it into an InfluxDB + Grafana server.

    To log the VINDSTYRKA data, I used a Sonoff Zigbee receiver on a Raspberry Pi 4b+. I installed zigbee2mqtt as a docker container, Mosquitto MQTT server and Telegraf+MQTT-client to submit the data into InfluxDB, which sounds more convoluted than it actually was.

    Test method

    I just let both devices run for a few days in close proximity to each other in my living room. I kept a balcony door open 24/7. I also created a bit of smoke at some point just to observe how the devices would respond and how much they would deviate from each other. Nothing too scientific, to be frank.

    Test result

    I've plotted the data from the Dylos and the Ikea device in the same graph and I think the results are quite straightforward. The peak in the middle was my 'smoke test'.

    Original grafana graph click on the image for a larger version

    Updated grafana graph click on the image for a larger version

    After a few days I noticed a clear deviation between the VINDSTYRKA and the Dylos DC1100 Pro at certain time intervals. I have no real explanation for this deviation and I can't tell which device shows 'correct' data.

    If I try to follow the AQI PM2.5 values for my city, the VINDSTYRKA seems to under report and the Dylos seems to over-report PM2.5 particulate matter.


    Based on my test, I think the VINDSTYRKA is good enough, looking at how closely the measurements track the results of the Dylos.

    Update September 19th 2023 Based on the new graph data, it seems the Dylos and VINDSTYRKA are less in agreement over absolute PM2.5 values. I'm not sure what to make of it.

    As both devices still seem to agree on basic trend data, I would say that they still operate in the same ballpark.

    1. Maybe you are a home automation enthusiast and you've managed to automate this process. 

    Tagged as : Solar

Page 1 / 73