All Projects → homematic-community → XML-API

homematic-community / XML-API

Licence: GPL-3.0 license
HomeMatic CCU Addon implementing a xml request functionality

Programming Languages

tcl
693 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to XML-API

binrpc
HomeMatic xmlrpc_bin:// protocol server and client
Stars: ✭ 15 (-85.85%)
Mutual labels:  smarthome, homematic
ccu-historian
Der CCU-Historian erfasst die Betriebsdaten des Hausautomations-Systems HomeMatic der Firma eQ-3.
Stars: ✭ 105 (-0.94%)
Mutual labels:  smarthome, homematic
hm2mqtt.js
Node.js based Interface between Homematic and MQTT
Stars: ✭ 20 (-81.13%)
Mutual labels:  smarthome, homematic
ccu-jack
CCU-Jack bietet einen einfachen und sicheren REST- und MQTT-basierten Zugriff auf die Datenpunkte der Zentrale (CCU) des Hausautomations-Systems HomeMatic. Zudem können einfach Fremdgeräte an die CCU angebunden werden.
Stars: ✭ 63 (-40.57%)
Mutual labels:  smarthome, homematic
ioBroker.hm-rpc
Connects HomeMatic Interface-Processes to ioBroker
Stars: ✭ 55 (-48.11%)
Mutual labels:  smarthome, homematic
ccu-addon-mosquitto
Mosquitto packaged as Addon for the Homematic CCU3 and RaspberryMatic
Stars: ✭ 23 (-78.3%)
Mutual labels:  smarthome, homematic
Iobroker.admin
user interface for configuration and administration
Stars: ✭ 207 (+95.28%)
Mutual labels:  smarthome
Iobroker.javascript
Script engine for JavaScript and Blockly
Stars: ✭ 244 (+130.19%)
Mutual labels:  smarthome
Steve
SteVe - OCPP server implementation in Java
Stars: ✭ 187 (+76.42%)
Mutual labels:  smarthome
Valetudo
Cloud-free control webinterface for vacuum robots
Stars: ✭ 2,738 (+2483.02%)
Mutual labels:  smarthome
Roode
A reliable smart home people counter based on VL53L1X and ESPHome
Stars: ✭ 119 (+12.26%)
Mutual labels:  smarthome
HomeAssistantRepository
🏡 Home Assistant on Gentoo Linux.
Stars: ✭ 26 (-75.47%)
Mutual labels:  smarthome
Iobroker.vis
Visualisation for ioBroker platform.
Stars: ✭ 242 (+128.3%)
Mutual labels:  smarthome
Iobroker.zigbee
Zigbee communcation with Hue, Xiaomi, Lighttify... via TI CC253x USB stick
Stars: ✭ 208 (+96.23%)
Mutual labels:  smarthome
Basecamp
An Arduino library to ease the use of the ESP32 in IoT projects
Stars: ✭ 251 (+136.79%)
Mutual labels:  smarthome
Node Tradfri Client
Library to talk to IKEA Trådfri Gateways without external binaries
Stars: ✭ 193 (+82.08%)
Mutual labels:  smarthome
Domoticz-Google-Assistant
Google Assistant for Domoticz
Stars: ✭ 81 (-23.58%)
Mutual labels:  smarthome
Wirehome.core
Wirehome.Core is a home automation system written in C# targeting .NET Core. It runs on Linux, Windows and macOS.
Stars: ✭ 180 (+69.81%)
Mutual labels:  smarthome
Iobroker.js Controller
ioBroker controller
Stars: ✭ 238 (+124.53%)
Mutual labels:  smarthome
my home assistant configuration
My Home Assistant Configuration
Stars: ✭ 24 (-77.36%)
Mutual labels:  smarthome

XML-API CCU Addon

Release Downloads Issues License

A HomeMatic CCU Addon implementing a xml request functionality as an interface to all homematic deviced available to a CCU device. This addon provides useful scripts that can be accessed via a HTTP request to a CCU device and allows to query and set all e.g. room- and devicetype names.

Supported CCU models

Installation

This addon can be added like a usual CCU addon package via the WebUI provided functionality by selecting "System-Konfiguration » Systemsteuerung » Zusatzsoftware", to upload the addon package as a tar.gz and the use »Installieren« to actually install the addon. After a restart of the CCU the xml-api interface can then be selected from the »Zusatzsoftware« tab in the CCU settings.

Security advice

The call to one of the API routines is without any authentication. If the HomeMatic control center can be reached via the Internet without special protection, this is a serious security risk!

Use

After installation the XML-API should be avilable via the following URL call:

http://[CCU_IP]/addons/xmlapi/[ScriptName]

where [CCU_IP] corresponds to the IP address or name of your CCU device and [ScriptName] being one of the following tool scripts:

ScriptName Description / Parameters
devicelist.cgi             Lists all devices with their channels. Contains name, serial number, device types and ids.
show_internal=1 (outputs all internal channels also)
functionlist.cgi           Lists all functions with their channels.    
favoritelist.cgi           Lists all favorites and users.
show_datapoint (outputs also attribute datapoint_id and datapoint_type)
mastervalue.cgi             Returns one or more (1234,5678) devices with their names and values of their master values.
device_id=1234 (returns all master values of device)
requested_name=TEMPERATURE_COMFORT,TEMPERATURE_LOWERING (returns only master values for specified names)
mastervaluechange.cgi       Sets one or more (TEMPERATURE_LOWERING,TEMPERATURE_COMFORT) master values of one or more (1234,5678) devices.
device_id=1234 (sets master values of device)
name=TEMPERATURE_LOWERING (sets specified master value only)
value=17.0,22.5 (sets master values to specified values)
programlist.cgi             Lists all programs.
programactions.cgi change the Programactions active and visible
Parameter: programactions.cgi?program_id=1234&active=true&visible=true
protocol.cgi               Returns the system protocol.
clear=1 (clears the system protocol)
runprogram.cgi             Starts the specified program.
program_id=1234 (id of program to start)
roomlist.cgi               Lists all rooms with their channels.
rssilist.cgi Lists all devices with their signal strength.
scripterrors.cgi           Searches the last 10 lines of /var/log/messages for homematic-script errors and output these.
state.cgi                   Returns for single or multiple devices (1234,5678) the channels and their values.
device_id=1234 (id of the device to return values)
channel_id=5678 (id of the channel to return values)
datapoint_id=12839 (id of data to return only Value())
statelist.cgi               Lists all devices with channels and current values.
ise_id (id of devices to list values for)
show_internal=1 (also return internal attribute state)
statechange.cgi             Changes one or more channel states.
ise_id=1234,5678 (id of the channels)
new_value=0.20 (new value for channel state)
systemNotification.cgi     Returns the current system notifications
systemNotificationClear.cgi Clears all current clearable system notifications.
sysvarlist.cgi             Lists all system variable with values.
text=true (return current value of system variable in attribute value_text)
sysvar.cgi                 Returns single system variable with values.
ise_id=1234 (id of system variable)
version.cgi Outputs version of XML-API

All of these scripts, if called, generate a xml structured output that can then be used by third-party applications to display or modify certain information. All of these scripts rely on a ise_id device or channel identifier. You can get this ise_id for the needed datapoint by analysing the result of statelist.cgi. The id can be used in the following way:

http://<CCU-IP>/addons/xmlapi/statechange.cgi?ise_id=12345&new_value=0.20

This call, if executed with the right ise_id and IP adress would then set a dimmer to 20%.

Support

http://homematic-forum.de/forum/viewtopic.php?f=26&t=10098&p=75959#p75959

ChangeLog

1.18

  • implemented mastervalue query + change which can also handle HmIP devices.
  • fixed version output

1.17

  • fixed incorrect use of .Variable() on alarm type system variables.

1.16

  • add programactions.cgi for activ and visible Programactions

1.15

  • fixed bug in sysvar.cgi if called without any argument (ise_id) resulting in a SyntaxError in ReGa.
  • fixed bug where calling runprogram.cgi with no argument or with an non-program program_id ended up in a ReGa Exec/ScriptRuntimeError.

1.14

  • fixed a bug where .Timestamp() was incorrectly used in protocol.cgi.

1.13

  • Support to query and set master values via mastervalue.cgi and mastervaluechange.cgi
  • Fixed systemNotification.cgi to not use .AlDestMapDP() incorrectly.

1.12

  • Workaround für Osram Lightify

1.11

  • Kompatibilität zu RaspberryMatic (HM-RASPBERRYMATIC) hergestellt.

1.10

  • Die XML-API kann jetzt als Addon/Zusatzsoftware über das WebUI installiert/deinstalliert werden
  • statechange.cgi - aendern eines oder mehrere Kanaele-Zustaende
  • sysvar.cgi - Anpassung wegen Variablen Name "Timer>>"

1.9

  • devicelist.cgi - operate und show_internal hinzugefügt

1.8

  • programlist.cgi - operate und visible hinzugefügt
  • statelist.cgi - channel visible, operate und operations hinzugefügt

1.7

  • statechange.cgi - encoden von Hexadezimalwerten
  • protocol.cgi - Timestamp hinzugefügt
  • state.cgi - einzelne Datenpunktausgabe (...) entfernt

1.6

  • state.cgi - Abfrage Abfrage von mehreren IDs hinzugefügt (z.Bsp.: state.cgi?device_id=12796,1245789 )
  • neues cgi systemNotification.cgi - Gibt die System Meldungen aus
  • neues cgi systemNotificationClear.cgi - Löcht die vorhandenen System Meldungen

1.5

  • Bugfix
  • Anpassung für CCU2

1.4

  • Datenpunktausgabe "value_name_0 und value_name_1" in sysvar.cgi und sysvarlist.cgi hinzugefügt

1.3

  • Datenpunktausgabe "unit" in state.cgi und statelist.cgi hinzugefügt
  • scripterrors.cgi - Sucht in den letzten 10 Zeilen von /var/log/messages nach Homematic-Script Fehlermeldungen

1.2-hq10

  • Ausgabe von version.cgi von 1.3 auf 1.2 zurück-geändert um Probleme mit Homedroid zu vermeiden
  • statechange.cgi - Anführungszeichen hinzugefügt damit auch Varialben vom Typ Zeichenkette gesetzt werden können

1.2-hq9

  • neues cgi scripterrors.cgi hinzugefügt. Gibt aus den letzten 10 Zeilen der /var/log/messages Homematic-Script Fehlermeldungen aus

1.2-hq8

  • Fehler in sysvarlist.cgi behoben, 3 Attribute haben gefehlt. (Danke Monty)

1.2-hq7

  • Datenpunktausgabe in favoritelist.cgi arbeitet nun wie erwartet (gleiches verhalten wie state.cgi, danke Monty).

1.2-hq6

  • exec.cgi (von http://homematic-forum.de/forum/viewtopic.php?f=31&t=7014) hinzugefügt. Liefert zwar json und kein xml - passt aber thematisch imho trotzdem dazu
  • favoritelist.cgi - Parameter show_datapoint aktiviert Ausgabe der zugehörigen Datenpunkte bzw systemvariablen (übernommen aus statelist.cgi und sysvar.cgi). Paramter show_internal siehe statelist.cgi
  • statelist.cgi - Parameter show_internal=1 aktiviert nun die Ausgabe des Datenpunkt-Attributs state
  • info.html aktualisiert

1.2-hq5

  • version.cgi liefert nun 1.3 zurück
  • protocol.cgi hinzugefügt: Gibt das Systemprotokol zurück. Parameter: start, show, clear. clear=1 löscht das Protokoll

1.2-hq4

  • allow-origin Header hinzugefügt
  • info.html aktualisiert

1.2-hq3

  • sysvar.cgi hinzugefügt: Gibt eine einzelne Variable zurück. Liefert Wertelisten. Parameter: ise_id
  • sysvarlist.cgi: neuer Parameter text um die neuen Attribute value_list and value_text zu aktivieren (text=true)
  • cgi.tcl und once.tcl entfernt

Authors

  • jens-maus, Maik (Monty1979), Philipp (ultrah), hobbyquaker, dirch, Uwe (uwe111)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].