Skip to content

Latest commit

 

History

History

vzug-reader

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

VZug Reader

This program aims at reading information from a V-Zug Adora SL-WP (41134 000054) (the link points to the V-Zug homepage, since the product has been removed from the catalog). This device is our dishwasher, which is one of the most ecological and economical we have found on the market at that time. Bonus, it is built in Switzerland.

Data are read through the V-ZUG-Home HTTP API, which runs on the appliance itself. Thus, the mobile app isn't required.

Installation

The program is written in Rust. Just clone the program, and run:

$ cargo build --release

The executable binary is located in /target/release/vzug-reader.

Usage

Use -h/--help to get help:

vzug-reader 0.1.0

USAGE:
    vzug-reader [FLAGS] [OPTIONS]

FLAGS:
    -h, --help                 Prints help information
    -t, --into-thing           Turns this program into a Thing, i.e. a new Web of Things device
    -c, --print-config-path    Print the configuration path and exit
    -V, --version              Prints version information

OPTIONS:
    -a, --address <address>          HTTP address of the VZug adora diswhwasher, e.g. `192.168.1.142:80`. This option
                                     overwrites the value read from the configuration file
    -f, --format <format>            Define the kind of outputs [default: Text]  [possible values: Text, Json]
    -p, --thing-port <thing-port>    Port of the Thing. Requires `--into-thing` to be effective. This option overwrites
                                     the value read from the configuration file

Use the --address option to specify the address. That's the only thing you need to know!

A configuration file can be used to read the value of the --address option. Use --print-config-path to get the path to the configuration file.

Format

The vzug-reader tool is designed to work in multiple environments.

Text

By default, the text format is selected.

State {
    device: Device {
        model: "GS-ASLWP",
        description: "Adora SL-WP",
        serial_number: "41134 000054",
        article_number: "4113400055",
        api_version: "1.6.0",
    },
    average_consumption: Consumption {
        power: Kwh(
            0.7,
        ),
        water: Liter(
            13.0,
        ),
    },
    total_consumption: Consumption {
        power: Kwh(
            42.0,
        ),
        water: Liter(
            941.0,
        ),
    },
    current_program: Active {
        status: "active",
        id: 50,
        name: "Pogramme Eco",
        duration: Duration {
            remaining_seconds: 1715,
        },
        current_step: 6,
        steps: [
            79,
            82,
            79,
            78,
            74,
            75,
            72,
        ],
        eco: false,
        steam_finish: false,
        partial_load: true,
    },
}

JSON can be used in a Web environment. Example with vzug-reader --address <addr< --format json (formatted with … | python -m json.tool):

{
    "device": {
        "model": "GS-ASLWP",
        "description": "Adora SL-WP",
        "serial_number": "41134 000054",
        "article_number": "4113400055",
        "api_version": "1.6.0"
    },
    "average_consumption": {
        "power": 0.7,
        "water": 13.0
    },
    "total_consumption": {
        "power": 42.0,
        "water": 941.0
    },
    "current_program": {
        "status": "active",
        "id": 50,
        "name": "Pogramme Eco",
        "duration": {
            "remaining_seconds": 1671
        },
        "current_step": 6,
        "steps": [
            79,
            82,
            79,
            78,
            74,
            75,
            72
        ],
        "eco": false,
        "steam_finish": false,
        "partial_load": true
    }
}