XML-RPC ist inkonsitent
See original GitHub issueDescribe the issue you are experiencing
Die XML-RPC Api ist inkonsistent. Wenn ich die Methode getLinks order getParamset aufrufe, werden die Daten underschiedlich formatiert. Das ParameterSet ist in getLinks und getParamset unterschiedlich formatiert.
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value>
<struct>
<member>
<name>SENDER</name>
<value>das:1</value>
</member>
<member>
<name>RECEIVER</name>
<value>das:4</value>
</member>
<member>
<name>FLAGS</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>NAME</name>
<value>das:01 das:04</value>
</member>
<member>
<name>DESCRIPTION</name>
<value>NO_DESCRIPTION</value>
</member>
<member>
<name>SENDER_PARAMSET</name>
<value>
<struct></struct>
</value>
</member>
<member>
<name>RECEIVER_PARAMSET</name>
<value>
<struct>
<member>
<name>SHORT_CT_ON</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>LONG_PROFILE_ACTION_TYPE</name>
<value>PROFILE_ACTION_TYPE_INACTIVE</value>
</member>
<member>
<name>LONG_OFF_TIME_MODE</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_OFFDELAY_TIME_BASE</name>
<value>BASE_100_MS</value>
</member>
<member>
<name>SHORT_JT_OFFDELAY</name>
<value>OFF</value>
</member>
<member>
<name>LONG_CT_OFFDELAY</name>
<value>number 0</value>
</member>
<member>
<name>LONG_CT_OFF</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_COND_VALUE_LO</name>
<value>
<i4>50</i4>
</value>
</member>
<member>
<name>SHORT_OFFDELAY_TIME_FACTOR</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>LONG_JT_ON</name>
<value>number 4</value>
</member>
<member>
<name>LONG_OFF_TIME_FACTOR</name>
<value>number 31</value>
</member>
<member>
<name>SHORT_COND_VALUE_HI</name>
<value>
<i4>150</i4>
</value>
</member>
<member>
<name>SHORT_OFF_TIME_MODE</name>
<value>TIME_IS_ABSOLUTE</value>
</member>
<member>
<name>SHORT_CT_ONDELAY</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_OFF_TIME_FACTOR</name>
<value>
<i4>31</i4>
</value>
</member>
<member>
<name>LONG_MULTIEXECUTE</name>
<value>number 0</value>
</member>
<member>
<name>LONG_ONDELAY_TIME_FACTOR</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_ON_TIME_FACTOR</name>
<value>
<i4>31</i4>
</value>
</member>
<member>
<name>LONG_ON_TIME_FACTOR</name>
<value>number 31</value>
</member>
<member>
<name>LONG_CT_ONDELAY</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_ON_TIME_BASE</name>
<value>BASE_1_H</value>
</member>
<member>
<name>SHORT_MULTIEXECUTE</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>LONG_JT_OFF</name>
<value>number 6</value>
</member>
<member>
<name>SHORT_JT_ONDELAY</name>
<value>OFF</value>
</member>
<member>
<name>LONG_ONDELAY_TIME_BASE</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_PROFILE_ACTION_TYPE</name>
<value>PROFILE_ACTION_TYPE_JUMP</value>
</member>
<member>
<name>LONG_ON_TIME_MODE</name>
<value>number 0</value>
</member>
<member>
<name>LONG_JT_OFFDELAY</name>
<value>number 6</value>
</member>
<member>
<name>LONG_OFF_TIME_BASE</name>
<value>number 7</value>
</member>
<member>
<name>LONG_OFFDELAY_TIME_FACTOR</name>
<value>number 0</value>
</member>
<member>
<name>LONG_COND_VALUE_LO</name>
<value>number 50</value>
</member>
<member>
<name>SHORT_OFF_TIME_BASE</name>
<value>BASE_1_H</value>
</member>
<member>
<name>SHORT_ON_TIME_MODE</name>
<value>TIME_IS_ABSOLUTE</value>
</member>
<member>
<name>LONG_JT_ONDELAY</name>
<value>number 6</value>
</member>
<member>
<name>LONG_COND_VALUE_HI</name>
<value>number 150</value>
</member>
<member>
<name>SHORT_CT_OFF</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>LONG_ON_TIME_BASE</name>
<value>number 7</value>
</member>
<member>
<name>SHORT_JT_OFF</name>
<value>OFF</value>
</member>
<member>
<name>SHORT_ONDELAY_TIME_FACTOR</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>LONG_CT_ON</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_ONDELAY_TIME_BASE</name>
<value>BASE_100_MS</value>
</member>
<member>
<name>LONG_OFFDELAY_TIME_BASE</name>
<value>number 0</value>
</member>
<member>
<name>SHORT_CT_OFFDELAY</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_JT_ON</name>
<value>OFF_DELAY</value>
</member>
</struct>
</value>
</member>
<member>
<name>SENDER_DESCRIPTION</name>
<value></value>
</member>
<member>
<name>RECEIVER_DESCRIPTION</name>
<value></value>
</member>
</struct>
</value>
<value>
<struct>
<member>
<name>SENDER</name>
<value>das:2</value>
</member>
<member>
<name>RECEIVER</name>
<value>das:4</value>
</member>
<member>
<name>FLAGS</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>NAME</name>
<value>das:02 das:04</value>
</member>
<member>
<name>DESCRIPTION</name>
<value>NO_DESCRIPTION</value>
</member>
<member>
<name>SENDER_PARAMSET</name>
<value>
<struct></struct>
</value>
</member>
<member>
<name>RECEIVER_PARAMSET</name>
<value>
<struct>
<member>
<name>SHORT_CT_ON</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>LONG_PROFILE_ACTION_TYPE</name>
<value>PROFILE_ACTION_TYPE_INACTIVE</value>
</member>
<member>
<name>LONG_OFF_TIME_MODE</name>
<value>TIME_IS_ABSOLUTE</value>
</member>
<member>
<name>SHORT_OFFDELAY_TIME_BASE</name>
<value>BASE_100_MS</value>
</member>
<member>
<name>SHORT_JT_OFFDELAY</name>
<value>ON</value>
</member>
<member>
<name>LONG_CT_OFFDELAY</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>LONG_CT_OFF</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_COND_VALUE_LO</name>
<value>
<i4>50</i4>
</value>
</member>
<member>
<name>SHORT_OFFDELAY_TIME_FACTOR</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>LONG_JT_ON</name>
<value>ON_DELAY</value>
</member>
<member>
<name>LONG_OFF_TIME_FACTOR</name>
<value>
<i4>31</i4>
</value>
</member>
<member>
<name>SHORT_COND_VALUE_HI</name>
<value>
<i4>150</i4>
</value>
</member>
<member>
<name>SHORT_OFF_TIME_MODE</name>
<value>TIME_IS_ABSOLUTE</value>
</member>
<member>
<name>SHORT_CT_ONDELAY</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_OFF_TIME_FACTOR</name>
<value>
<i4>31</i4>
</value>
</member>
<member>
<name>LONG_MULTIEXECUTE</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>LONG_ONDELAY_TIME_FACTOR</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>SHORT_ON_TIME_FACTOR</name>
<value>
<i4>31</i4>
</value>
</member>
<member>
<name>LONG_ON_TIME_FACTOR</name>
<value>
<i4>31</i4>
</value>
</member>
<member>
<name>LONG_CT_ONDELAY</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_ON_TIME_BASE</name>
<value>BASE_1_H</value>
</member>
<member>
<name>SHORT_MULTIEXECUTE</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>LONG_JT_OFF</name>
<value>ON_DELAY</value>
</member>
<member>
<name>SHORT_JT_ONDELAY</name>
<value>ON</value>
</member>
<member>
<name>LONG_ONDELAY_TIME_BASE</name>
<value>BASE_100_MS</value>
</member>
<member>
<name>SHORT_PROFILE_ACTION_TYPE</name>
<value>PROFILE_ACTION_TYPE_JUMP</value>
</member>
<member>
<name>LONG_ON_TIME_MODE</name>
<value>TIME_IS_ABSOLUTE</value>
</member>
<member>
<name>LONG_JT_OFFDELAY</name>
<value>ON</value>
</member>
<member>
<name>LONG_OFF_TIME_BASE</name>
<value>BASE_1_H</value>
</member>
<member>
<name>LONG_OFFDELAY_TIME_FACTOR</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>LONG_COND_VALUE_LO</name>
<value>
<i4>50</i4>
</value>
</member>
<member>
<name>SHORT_OFF_TIME_BASE</name>
<value>BASE_1_H</value>
</member>
<member>
<name>SHORT_ON_TIME_MODE</name>
<value>TIME_IS_ABSOLUTE</value>
</member>
<member>
<name>LONG_JT_ONDELAY</name>
<value>ON</value>
</member>
<member>
<name>LONG_COND_VALUE_HI</name>
<value>
<i4>150</i4>
</value>
</member>
<member>
<name>SHORT_CT_OFF</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>LONG_ON_TIME_BASE</name>
<value>BASE_1_H</value>
</member>
<member>
<name>SHORT_JT_OFF</name>
<value>ON_DELAY</value>
</member>
<member>
<name>SHORT_ONDELAY_TIME_FACTOR</name>
<value>
<i4>0</i4>
</value>
</member>
<member>
<name>LONG_CT_ON</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_ONDELAY_TIME_BASE</name>
<value>BASE_100_MS</value>
</member>
<member>
<name>LONG_OFFDELAY_TIME_BASE</name>
<value>BASE_100_MS</value>
</member>
<member>
<name>SHORT_CT_OFFDELAY</name>
<value>VALUE_GE_LO</value>
</member>
<member>
<name>SHORT_JT_ON</name>
<value>ON_DELAY</value>
</member>
</struct>
</value>
</member>
<member>
<name>SENDER_DESCRIPTION</name>
<value></value>
</member>
<member>
<name>RECEIVER_DESCRIPTION</name>
<value></value>
</member>
</struct>
</value>
</data>
</array>
</value>
</param>
</params>
</methodResponse>
Es ist nicht nur zwischen zwei Endpunkten unterschiedlich sondern auch innerhalb der Datensätze eines Endpunktes. Ein Beispiel sind die LONG_MULTIEXECUTE Werte
<member>
<name>LONG_MULTIEXECUTE</name>
<value>number 0</value>
</member>
<member>
<name>LONG_MULTIEXECUTE</name>
<value>
<boolean>0</boolean>
</value>
</member>
Das macht Integration schwierig.
Describe the behavior you expected
Die Formatierung sollte einheitlich sein.
Steps to reproduce the issue
- XML-RPC Anfrage machen
What is the version this bug report is based on?
3.65.11.20221005
Which base platform are you running?
rpi3 (RaspberryPi3)
Which HomeMatic/homematicIP radio module are you using?
n/a
Anything in the logs that might be useful for us?
Nein
Additional information
No response
Issue Analytics
- State:
- Created a year ago
- Comments:19 (8 by maintainers)
Top Results From Across the Web
XML-RPC ist inkonsitent · Discussion #2042 - GitHub
Im XML sind 2 Links. Im ParameterSet gibt es den LONG_MULTIEXECUTE Parameter. Dieser wird im ersten Link mit dem wert "number 0" zurückgegeben....
Read more >XML-RPC.NET FAQ - GitHub Pages
1.11 What if the XML-RPC struct member name is not valid in . ... is problematic because the XML-RPC standard is inconsistent in...
Read more >python 3.x - xml rpc client and server - Stack Overflow
i tried to connect this xmlRPCClient code with this server but it didn't work even i sued the same localhost and called the...
Read more >XMLRPC or WP-Login: Which do Brute Force Attackers Prefer
I shut down all automation via the block url list and a couple of "disabler" plugins. That includes xmlrpc, ajax, json, rest, as...
Read more >XML MATTERS #16: XML-RPC as Object Model
This article discusses XML-RPC as a way of modelling object data. General background on what ... Consistency: the design must not be overly...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Ich werde das mal in eine Diskussion konvertieren damit das ganze nicht ganz untergeht.
Wenn das wirklich eine mögliche Option von dir ist solltest du dir in der Tat mal https://github.com/jens-maus/RaspberryMatic/pull/1511 näher anschauen, denn arg weit weg von der originalen WebUI dürfen wir uns auch nicht wegbewegen wegen Kompatibilität und zukünftiger Updates und da stellt #1511 einen guten Kompromiss dar eine aktuelle js API einzuführen aber das Look&Feel zu versuchen beizubehalten.