LarsMichelsen / pmatic

Python API for Homematic. Easy to use.

Home Page:https://larsmichelsen.github.io/pmatic/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pmatic.exceptions.PMException: JSONRPCError

bogd opened this issue · comments

I am trying to register callbacks for device status updates. My test code is very simple, based on the callbacks sample code:

import pmatic
pmatic.logging(pmatic.DEBUG)
import time

def on_update(param):
	print("%s %s" % (param.channel.device.name, param.channel.summary_state))

if __name__=="__main__":
	ccu = pmatic.CCU ( address="http://ccu2.example.com", credentials=creds )

	devices = ccu.devices.query() 
	
	devices.on_value_updated(on_update)
		
	ccu.events.init()
	ccu.events.wait()
	ccu.events.close()

However, every single time I run this code, it fails with the following error:

  File "venv\lib\site-packages\pmatic\api.py", line 160, in _parse_api_response
    kwargs))
pmatic.exceptions.PMException: [interface_get_paramset_description] JSONRPCError: XML-RPC: unknown paramset (Code: 503, Request: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:4', 'paramsetType': 'VALUES', '_session_id_': 'Qi0AbqX0fW'})

The device mentioned in the message is an HM-Dis-EP-WM55 (e-paper display).

Any help would be appreciated :)

Thank you!

Debug messages:

2018-02-22 23:51:08,971 [DEBUG] CALL: Interface.getParamsetDescription ARGS: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:0', 'paramsetType': 'VALUES', '_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:08,974 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Interface.getParamsetDescription", "params": {"interface": "BidCos-RF", "address": "NEQ1596374:0", "paramsetType": "VALUES", "_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:09,328 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:09,328 [DEBUG]   RESPONSE: {"version": "1.1","result": [{"NAME":"STICKY_UNREACH","DEFAULT":"0","FLAGS":"25","ID":"STICKY_UNREACH","MAX":"1","MIN":"0","OPERATIONS":"7","TAB_ORDER":"1","TYPE":"BOOL","UNIT":""},{"NAME":"RSSI_PEER","DEFAULT":"0","FLAGS":"1","ID":"RSSI_PEER","MAX":"2147483647","MIN":"-2147483648","OPERATIONS":"5","TAB_ORDER":"5","TYPE":"INTEGER","UNIT":""},{"NAME":"RSSI_DEVICE","DEFAULT":"0","FLAGS":"1","ID":"RSSI_DEVICE","MAX":"2147483647","MIN":"-2147483648","OPERATIONS":"5","TAB_ORDER":"4","TYPE":"INTEGER","UNIT":""},{"NAME":"DEVICE_IN_BOOTLOADER","DEFAULT":"0","FLAGS":"9","ID":"DEVICE_IN_BOOTLOADER","MAX":"1","MIN":"0","OPERATIONS":"5","TAB_ORDER":"6","TYPE":"BOOL","UNIT":""},{"NAME":"LOWBAT","DEFAULT":"0","FLAGS":"9","ID":"LOWBAT","MAX":"1","MIN":"0","OPERATIONS":"5","TAB_ORDER":"3","TYPE":"BOOL","UNIT":""},{"NAME":"AES_KEY","DEFAULT":"0","FLAGS":"0","ID":"AES_KEY","MAX":"127","MIN":"0","OPERATIONS":"1","TAB_ORDER":"8","TYPE":"INTEGER","UNIT":""},{"NAME":"UNREACH","DEFAULT":"0","FLAGS":"9","ID":"UNREACH","MAX":"1","MIN":"0","OPERATIONS":"5","TAB_ORDER":"0","TYPE":"BOOL","UNIT":""},{"NAME":"CONFIG_PENDING","DEFAULT":"0","FLAGS":"9","ID":"CONFIG_PENDING","MAX":"1","MIN":"0","OPERATIONS":"5","TAB_ORDER":"2","TYPE":"BOOL","UNIT":""},{"NAME":"UPDATE_PENDING","DEFAULT":"0","FLAGS":"9","ID":"UPDATE_PENDING","MAX":"1","MIN":"0","OPERATIONS":"5","TAB_ORDER":"7","TYPE":"BOOL","UNIT":""}],"error": null}
2018-02-22 23:51:09,332 [DEBUG] CALL: Interface.getParamset ARGS: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:0', 'paramsetKey': 'VALUES', '_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:09,333 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Interface.getParamset", "params": {"interface": "BidCos-RF", "address": "NEQ1596374:0", "paramsetKey": "VALUES", "_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:09,665 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:09,666 [DEBUG]   RESPONSE: {"version": "1.1","result": {"AES_KEY":"1","CONFIG_PENDING":"0","DEVICE_IN_BOOTLOADER":"0","LOWBAT":"0","RSSI_DEVICE":"-65535","RSSI_PEER":"-68","STICKY_UNREACH":"0","UNREACH":"0","UPDATE_PENDING":"0"},"error": null}
2018-02-22 23:51:09,671 [DEBUG] CALL: Interface.getParamsetDescription ARGS: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:1', 'paramsetType': 'VALUES', '_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:09,672 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Interface.getParamsetDescription", "params": {"interface": "BidCos-RF", "address": "NEQ1596374:1", "paramsetType": "VALUES", "_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:10,076 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:10,077 [DEBUG]   RESPONSE: {"version": "1.1","result": [{"NAME":"PRESS_SHORT","CONTROL":"BUTTON.SHORT","DEFAULT":"0","FLAGS":"1","ID":"PRESS_SHORT","MAX":"1","MIN":"0","OPERATIONS":"6","TAB_ORDER":"0","TYPE":"ACTION","UNIT":""},{"NAME":"PRESS_LONG_RELEASE","DEFAULT":"0","FLAGS":"3","ID":"PRESS_LONG_RELEASE","MAX":"1","MIN":"0","OPERATIONS":"4","TAB_ORDER":"4","TYPE":"ACTION","UNIT":""},{"NAME":"PRESS_LONG","CONTROL":"BUTTON.LONG","DEFAULT":"0","FLAGS":"1","ID":"PRESS_LONG","MAX":"1","MIN":"0","OPERATIONS":"6","TAB_ORDER":"1","TYPE":"ACTION","UNIT":""},{"NAME":"PRESS_CONT","DEFAULT":"0","FLAGS":"3","ID":"PRESS_CONT","MAX":"1","MIN":"0","OPERATIONS":"4","TAB_ORDER":"3","TYPE":"ACTION","UNIT":""},{"NAME":"INSTALL_TEST","DEFAULT":"0","FLAGS":"3","ID":"INSTALL_TEST","MAX":"1","MIN":"0","OPERATIONS":"4","TAB_ORDER":"2","TYPE":"ACTION","UNIT":""}],"error": null}
2018-02-22 23:51:10,083 [DEBUG] CALL: Interface.getParamsetDescription ARGS: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:2', 'paramsetType': 'VALUES', '_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:10,091 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Interface.getParamsetDescription", "params": {"interface": "BidCos-RF", "address": "NEQ1596374:2", "paramsetType": "VALUES", "_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:10,452 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:10,453 [DEBUG]   RESPONSE: {"version": "1.1","result": [{"NAME":"PRESS_SHORT","CONTROL":"BUTTON.SHORT","DEFAULT":"0","FLAGS":"1","ID":"PRESS_SHORT","MAX":"1","MIN":"0","OPERATIONS":"6","TAB_ORDER":"0","TYPE":"ACTION","UNIT":""},{"NAME":"PRESS_LONG_RELEASE","DEFAULT":"0","FLAGS":"3","ID":"PRESS_LONG_RELEASE","MAX":"1","MIN":"0","OPERATIONS":"4","TAB_ORDER":"4","TYPE":"ACTION","UNIT":""},{"NAME":"PRESS_LONG","CONTROL":"BUTTON.LONG","DEFAULT":"0","FLAGS":"1","ID":"PRESS_LONG","MAX":"1","MIN":"0","OPERATIONS":"6","TAB_ORDER":"1","TYPE":"ACTION","UNIT":""},{"NAME":"PRESS_CONT","DEFAULT":"0","FLAGS":"3","ID":"PRESS_CONT","MAX":"1","MIN":"0","OPERATIONS":"4","TAB_ORDER":"3","TYPE":"ACTION","UNIT":""},{"NAME":"INSTALL_TEST","DEFAULT":"0","FLAGS":"3","ID":"INSTALL_TEST","MAX":"1","MIN":"0","OPERATIONS":"4","TAB_ORDER":"2","TYPE":"ACTION","UNIT":""}],"error": null}
2018-02-22 23:51:10,460 [DEBUG] CALL: Interface.getParamsetDescription ARGS: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:3', 'paramsetType': 'VALUES', '_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:10,462 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Interface.getParamsetDescription", "params": {"interface": "BidCos-RF", "address": "NEQ1596374:3", "paramsetType": "VALUES", "_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:10,807 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:10,808 [DEBUG]   RESPONSE: {"version": "1.1","result": [{"NAME":"SUBMIT","CONTROL":"NONE","DEFAULT":"","FLAGS":"1","ID":"SUBMIT","MAX":"","MIN":"","OPERATIONS":"2","TAB_ORDER":"0","TYPE":"STRING","UNIT":""}],"error": null}
2018-02-22 23:51:10,813 [DEBUG] CALL: Interface.getParamsetDescription ARGS: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:4', 'paramsetType': 'VALUES', '_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:10,814 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Interface.getParamsetDescription", "params": {"interface": "BidCos-RF", "address": "NEQ1596374:4", "paramsetType": "VALUES", "_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:12,165 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:12,166 [DEBUG]   RESPONSE: {
  "version": "1.1",
  "result": null,
  "error": {
    "name": "JSONRPCError",
    "code": 503,
    "message": "XML-RPC: unknown paramset"
  }
}

Traceback (most recent call last):
  File "callback.py", line 21, in <module>
    devices.on_value_updated(on_update)
  File "venv\lib\site-packages\pmatic\entities.py", line 880, in on_value_updated
    device.on_value_updated(func)
  File "venv\lib\site-packages\pmatic\entities.py", line 1128, in on_value_updated
    channel.on_value_updated(func)
  File "venv\lib\site-packages\pmatic\entities.py", line 430, in on_value_updated
    values = self.values.values()
  File "venv\lib\site-packages\pmatic\entities.py", line 216, in values
    self._init_value_specs()
  File "venv\lib\site-packages\pmatic\entities.py", line 235, in _init_value_specs
    address=self.address, paramsetType="VALUES"):
  File "venv\lib\site-packages\pmatic\api.py", line 190, in lowlevel_call
    return self._call(method_name_int, **kwargs)
  File "venv\lib\site-packages\pmatic\api.py", line 470, in _call
    return self._do_call(method_name_int, **kwargs)
  File "venv\lib\site-packages\pmatic\api.py", line 520, in _do_call
    return self._parse_api_response(method_name_int, kwargs, response_txt)
  File "venv\lib\site-packages\pmatic\api.py", line 160, in _parse_api_response
    kwargs))
pmatic.exceptions.PMException: [interface_get_paramset_description] JSONRPCError: XML-RPC: unknown paramset (Code: 503, Request: {'interface': 'BidCos-RF', 'address': 'NEQ1596374:4', 'paramsetType': 'VALUES', '_session_id_': '5rsxPiPNhU'})
2018-02-22 23:51:12,242 [DEBUG] CALL: Session.logout ARGS: {'_session_id_': '5rsxPiPNhU'}
2018-02-22 23:51:12,243 [DEBUG]   URL: http://ccu2.example.com/api/homematic.cgi DATA: {"method": "Session.logout", "params": {"_session_id_": "5rsxPiPNhU"}}
2018-02-22 23:51:13,046 [DEBUG]   HTTP-STATUS: 200
2018-02-22 23:51:13,047 [DEBUG]   RESPONSE: {"version": "1.1","result": true,"error": null}