Auf die Idee in die Debug Anzeige des WWW Reader zu schauen hätte ich selber kommen sollen. 
Ich habe mich daraufhin ein bisschen mit CMI_JSON_API_V5.pdf (265 KB) beschäftig und dort einen Bug gefunden. Ein Ticket an TA habe ich bereits eröffnet aber noch keine Rückmeldung. Folgendes Problem habe ich an TA gemeldet:
Guten Tag,
wenn ich folgenden Request an die CMI JSON API absetze:
http://192.168.32.19/INCLUDE/api.cgi?jsonnode=3&jsonparam=I,O,D,Sg,Sd,St,Ss,La,Ld
müssten in der JSON Antwort ja alle angefragten Parameter Objekte vorhanden sein.
Allerdings bekomme ich nur die Objekte bis „Sun“ -> Ss.
„Logging Analog“ -> La und „Logging Digital“ -> Ld fehlen in der JSON Response…
Wenn ich Parameter weglasse (z.B. Sd, St, und Ss):
http://192.168.32.19/INCLUDE/api.cgi?jsonnode=3&jsonparam=I,O,D,Sg,La,Ld
Jetzt bekomme ich in der JSON Response alle gewünschten Parameter Objekte.
Ist dies ein Bug in der API oder gibt es eine Limitierung der Objekte?
Ich finde in der API Dokumentation unter 5.3.2 allerdings nur einen Hinweis auf „max. 16 value/parameter“
Was ist genau damit gemeint?
Meine Meinung nach ist die Implementierung der CMI API in Symcon nicht optimal gelöst.
Ich hätte folgende Kritik und Verbesserungspunkte
Ich habe durch Ausprobieren herausgefunden, dass die Stellung der Schalter in der Instanzkonfiguration (gelb) keinen Einfluss auf den Anfrageparameter hat. Laut Log wird immer der komplette Parametersatz jsonparam=I,O,D,Sg,Sd,St,Ss,La,Ld angefragt.
Die Angabe des Gerätes erschließt sich mir nicht direkt. Ich vermute, dass ihr dann intern andere Parameter in jsonparam einsetzt.
Ich würde folgende Änderungen vorschlagen:
Die Schalter in der Instanzkonfiguration sollten sich an den API Parametern (5.3.2) orientieren:
() I - Inputs
() O - Outputs
() D - DL Inputs
() Sg - Sytem Values
…
…
() La - Analog Logging
() Ld - Digital Logging
Nur wenn der Schalter gesetzt wird, sollte der zugehörige Parameter bei jsonparam=x,y,z eingefügt werden. In diesem Fall würde der vermeintliche Bug der API auch nicht zum tragen kommen, da nur die Objekte bei der API angefragt werden, die am Ende auch gebraucht und ausgewertet werden.
Die Geräte Angabe (rot) ist eigentlich überflüssig.
Man könnte jetzt natürlich einen Filter implementieren, welcher nur die Parameter angezeigt, welche für das entsprechende Gerät auch möglich sind. Da gibt es aber natürlich auch viele Variationen zu beachten.
Ich habe z.B. eine UVR610 mit Modbus statt M-Bus. Diese unterstützt den Parameter AM=Modbus aber nicht M=M-Bus.
Daher würde ich die Auswahl der passenden Parameter in die Hände der User legen und auf die API Dokumentation verweisen.