sineverba/domoticz-api

This package is abandoned and no longer maintained. No replacement package was suggested.

Simple PHP wrapper for the Domoticz API

v2.1.0 2019-03-12 16:55 UTC

README

V. 2.1.0 - Last update: 12/03/2019

Scrutinizer Code Quality Code Coverage Build Status Build Status codecov StyleCI

Simple PHP wrapper for the Domoticz API.

Thank you to Domoticz for wonderful work.

With this library, you will can connect to your Domoticz server via API.

Check with compatibility table if you need V1 or V2.

V1 is not anymore mantained. V2 under development.

Version compatibility table

Domoticz API V 2

Domoticz Version Stable / Beta Compatible / Working
4.9700 STABLE YES
4.9788 Beta YES

3.9501 not tested anymore, I did revert to 3.8153 after that issue.

Domoticz API V 1

Domoticz Version Stable / Beta Compatible / Working
3.8153 STABLE YES
3.9453 Beta YES
3.9458 Beta YES
3.9501 Beta NO See issues
3.9639 Beta YES
4.9700 STABLE YES
4.9732 Beta YES
4.9763 Beta YES
4.9764 Beta YES

3.9501 not tested anymore, I did revert to 3.8153 after that issue.

Install

Version 2.X

$ composer require sineverba/domoticz-php-api-wrapper "^2"

Version 1.7.1

$ composer require sineverba/domoticz-api "^1"

Usage

Version 2

<?php

require_once ('vendor/autoload.php');

use \sineverba\domoticzapi\Auth\Auth;
use \sineverba\domoticzapi\Adapter\Adapter;
use \sineverba\domoticzapi\Client\Client;
use \sineverba\domoticzapi\Exceptions\AuthException;

// Required params
$data = [
    'username'=>'username',
    'password'=>'password'
];
$uri = 'http://www.example.com:8080'; // Uri of Domoticz server

// Initialize
$auth = new Auth($data);
$adapter = new Adapter($auth,$uri);
$client = new Client($adapter);

try {
    // Get Domoticz Version
    $domoticz_version = $client->getDomoticzVersion();
    // Get Devices
    $devices = $client->getDevices();
} catch (AuthException $e) {
    echo $e->getMessage();
}

Version 1

<?php

use \sineverba\domoticzapi;

//Instantiate an api Client to Domoticz
$api = new \sineverba\domoticzapi\Client( 'username' , 'password' );

//Default host is 127.0.0.1:8080, you can change it
$api = new \sineverba\domotizapi\Client ( 'username' , 'password' , 'http://www.example.com:1234' );

//Get list of devices
$devices = $api->getDevice();

//Get list of devices type filtered
$devices = $api->getDevice(null , 'temp');

//Get single device by idx
$device = $api->getDevice($idx);

// Get a single device by name
$device = $api->getDeviceByName($name);

// Get list of user variables
$user_variable = $api->getUserVariable();

// Power on a device. If the device is password-protected, set password as second parameter
$on = $api->powerOn($device , $pin = null);

// Power off a device. If the device is password-protected, set password as second parameter
$off = $api->powerOff($device , $pin = null);

// Toggle a device. If the device is password-protected, set password as second parameter
$toggle = $api->toggle($device , $pin = null);

// Write log
$log = $api->writeLog(string $log);

// Set a user variable
$api->setUserVariable ( $name , $value );

// Delete an user variable
$api->deleteUserVariable ( $idx );

// Set a reading for a counter
$api->setCounterReading($idx,$reading);

// Write text on sensors text
$api->writeText($idx,$text);