question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

XML-RPC ist inkonsitent

See original GitHub issue

Describe 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

  1. 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:closed
  • Created a year ago
  • Comments:19 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
jens-mauscommented, Oct 30, 2022

Falls dieses Ticket wirklich nicht durch RaspberryMatic zu reparieren ist schließt es gerne. Und danke für die Geduld!

Ich werde das mal in eine Diskussion konvertieren damit das ganze nicht ganz untergeht.

1reaction
jens-mauscommented, Oct 30, 2022

Ich werde erstmal wie geplant einen Prototypen erstellen wenn der gut funktioniert würde ich mich freuen wenn wir nochmal dadrüber reden könnten ob/wie mein Prototyp in der WebUI funktionieren kann.

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.

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found