Skip to content

Releases: thetrueavatar/Viessmann-Api

2.0.0: Integration with IOT

16 Jul 08:42
Compare
Choose a tag to compare

Update client to use new IOT API from Viessmann.
Removed session_start() from code so that session is managed by the user of the api.
credentials.properties is now defined as key=value

Note: clientId is now mandatory and can be acquired on developper's portal https://developer.viessmann.com/
the clientId is the key delivered by a user to a third-party application. This key allows the third-party application(this code here) to access IOT API.

Once you got the key you have to set it into the credentials.properties into clientId field

1.4.0

20 Feb 10:53
Compare
Choose a tag to compare

Release Note:

  • switch to idp v2 switch from https://api.viessmann-platform.io to https://api.viessmann.com for OAuth service and switch to Oauth scope IoT%20User and update token to v2
  • Add getProperties PhilippeJ-code
  • added addUnit to consumption method that would return the consumption unit
    -included constants into ViessmannFeature.php for Viessmann PA2 fuel cell heating (probably will work with PT2, too)
    -added a universal getter (getGenericFeaturePropertyAsJSON) to ViessmannAPI.php,
  • Improve Jeedom example 3djc
  • rename getSupplyProgramTemperature into getSupplyTemperature
  • fixed getAvailableFeatures lbscld
    -Introduce an example for local Jeedom 3djc
  • Attempt for GatewayInformationInRaw.

Removed php 7.1 requirement and fixed GetAvailableFeature

26 Mar 09:07
Compare
Choose a tag to compare

To avoid people to upgrade to php 7.1 I have removed the usage of ?
GetAvailableFeature is now working as it used to be.

Fixed missing DateTime

23 Mar 22:51
Compare
Choose a tag to compare

Added DateTime import. This was causing problem for reset limit parsing if you tried getInstallationInformation method while being banned

Added getInstallationId and getGatewayID

20 Mar 12:17
Compare
Choose a tag to compare

Added getInstallationId and getGatewayID method to find value.
I have also swapped definition. You have to first write installationId, then gatewayId after user/pwd in credentials.properties
Fixed missing exception.

Add possibility to define gatewayId and installationId

19 Mar 19:30
Compare
Choose a tag to compare

To avoid one unecessary request, it's possible to define in the credentials.properties the gatewayId(3rd parameter) and installationId(4th parameter). If it's not define, the api will still do the request to get those value.

Adding caching system to reduce request

19 Mar 12:15
Compare
Choose a tag to compare

As mentionned, Viessmann as set 2 limit to their API:
120 calls for a time window of 10 minutes
1450 calls for a time window of 24 hours

I have done a refactoring to add cache. Once you are creating the ViessmanApi object it will do only 4 request and subsequent call on method will use cache.
So it's highly recommanded that you merge all your php file in a single one!!!!
For instance doing in one php file those method call will result in a total of 4 request.

<?php
include DIR . '/bootstrap.php';
echo "Température extérieure " . $viessmannApi->getOutsideTemperature() . “\n”;
echo "Température boiler " . $viessmannApi->getBoilerTemperature() . “\n”;
echo "Pente " . $viessmannApi->getSlope() . “\n”;
echo "Parallèle " . $viessmannApi->getShift() . “\n”;
echo "Mode chaudière " . $viessmannApi->getActiveMode() . “\n”;
echo "Programme actif " . $viessmannApi->getActiveProgram() . “\n”;
echo "Is Heating Burner active ? " . $viessmannApi->isHeatingBurnerActive() . “\n”;//in php false bool is converted into empty string
echo "Is Dhw mode active ? " . $viessmannApi->isDhwModeActive() . “\n”;
echo "Température de confort " . $viessmannApi->getComfortProgramTemperature() . “\n”;
echo "Température écho " . $viessmannApi->getEcoProgramTemperature() . “\n”;
echo "Température externe " . $viessmannApi->getExternalProgramTemperature() . “\n”;
echo "Température réduit " . $viessmannApi->getReducedProgramTemperature() . “\n”;
echo "Est en veille ? " . $viessmannApi->isInStandbyMode() . “\n”;
echo "Température eau chaude " . $viessmannApi->getHotWaterStorageTemperature() . “\n”;

Fixed start/stop OneOneTimeDhwCharge

30 Nov 19:28
Compare
Choose a tag to compare

Contribution of JueBag(thank you) that fixed the method.

1.2.0

18 Nov 13:31
Compare
Choose a tag to compare

Please note I have written a guide that would help you to add your own feature:
https://github.com/thetrueavatar/Viessmann-Api/wiki/How-to-add-you-own-feature-to-the-api

Added new feature(thanks to x6vde for the help)

  • isInFixedPrograms: true if fixedProgram enable
  • getHeatingSolarPowerProduction: Return the Heating Solar Power production
  • getHeatingSolarSensorsTemperatureCollector
  • getHeatingPowerConsumption: Return the Heating consumption.
  • getHeatingTemperatureReturn: temperature of the return to the heating
  • getHeatingConfigurationCoolingMode
  • setHeatingConfigurationCoolingMode

Fixed:

  • setRawDhwSchedule

1.1.0: Fix problem with recent change on Viessmann's server

12 Jul 08:28
Compare
Choose a tag to compare

Viessmann change a bit the way of handling OAuth on their server.
With previous version(<1.1.0) you are getting now a "Call to a member function getProperty() on null" error message. This release fix this problem.
I have also fixed the isOneTimeDhwCharge and added startOneTimeDhwCharge method(thanks to the rogrun's feedback).
Reminder: Don't forget to update the bootstrap.php to point to the new version of the phar.