Skip to content

๐Ÿ“š API for Vallox ventilation units

License

Notifications You must be signed in to change notification settings

danielbayerlein/vallox-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

vallox-api

npm version Actions Status JavaScript Style Guide Dependabot Status

API for Vallox ventilation units

Installation

# npm
npm install @danielbayerlein/vallox-api --save

# Yarn
yarn add @danielbayerlein/vallox-api

Usage

new Vallox(object{ip: string, port: int})

Returns the client instance.

import Vallox from '@danielbayerlein/vallox-api'

const client = new Vallox({ ip: '192.168.178.33', port: 80 })

Example

.PROFILES

Returns an object with the profile mapping.

client.PROFILES

Example

.getProfile()

Returns the current profile id.

await client.getProfile()

Example

.fetchMetric(string)

Returns the value of the metric key.

await client.fetchMetric('A_CYC_FAN_SPEED')

Example

.fetchMetrics(array[string])

Returns an array with the values if the metric keys.

await client.fetchMetrics([
  'A_CYC_TEMP_EXHAUST_AIR',
  'A_CYC_TEMP_OUTDOOR_AIR'
])

Example

.setProfile(int, int)

Sets the profile.

// Permanently AWAY profile
await client.setProfile(client.PROFILES.AWAY)

// FIREPLACE mode for configured timeout
await client.setProfile(client.PROFILES.FIREPLACE)

// FIREPLACE mode for 30 min
await client.setProfile(client.PROFILES.FIREPLACE, 30)

Example

.setValues(object{string: int})

Sets the value for the metric key.

await client.setValues({
  'A_CYC_HOME_SPEED_SETTING': 60
})

Example

Supported units

  • ValloPlus 350 MV
  • ValloPlus 240-E MV
  • Please add your tested unit

Credits

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Copyright

Copyright (c) 2019-present Daniel Bayerlein. See LICENSE for details.