Hallo Zusammen,
kurz die Infos zu meinem Setup: originale CCU3 (Version 3.65.6), lokaler Server, eigene PHP Software, Zugriff per JSON API (api/homematic.cgi)
Ziel ist es, dass meine Software entscheidet, wie die Belüftungsanlage meines Haus läuft.
Dazu hab ich mir folgende Strategie überlegt:
- Die Software entscheidet zwischen den Modi "on", "off" und "auto"
- Per JSON API (SysVar.createEnum) erstelle ich eine Systemvariable des Typs "LIST" mit den 3 Werten
- Per JSON API (SysVar.setEnum) schreibe ich den passenden Wert in die Variable
- Mein HmIPW-DRS8 schaltet basierend auf dieser Systemvariable 2 Aktoren
Ich erstelle also die Systemvariable, per SysVar.getAll erhalte ich sie auch, aber hier beginnen die Probleme.
Egal wie ich "internal" übergebe, als false, "false", 0, sie wird mir immer als "isInternal:true" zurückgegeben. Folglich sehe ich sie nicht in der Liste und kann mit den aktuellen Status im Webfrontend nicht anschauen.
Bei den Tests hab ich natürlich jede Menge Müll produziert, die Api ist so nett und akzeptiert jedes mal den gleichen Namen, hängt dann einfach eine aufsteigende Nummer an, fantastisch.... Also SysVar.deleteSysVarByName, die Variable wird bei getAll nicht mehr aufgelistet, mach ich jedoch SysVar.getValueByName erhalte ich den alten Value und keinen leeren String wie es zu erwarten wäre. Lege ich die Variable neu an, wird der Name weiter hochgezählt, obwohl sie eigentlich nicht mehr existieren dürfte und auch nicht mehr gelistet wird.
Lege ich eine Variable im WebUI an kann ich sie übrigens vollständig darüber löschen, dort scheint es kein Softdelete zu sein.
tl;dr: Wie bekomm ich Systemvariablen per API als Nicht-Internal und wie kann ich sie per API vollständig löschen? Oder ist die grundsätzliche Idee mit der Systemvariable eventuell schon daneben?
Besten dank vorab für jede Hilfe!
JSON Api SysVar Methoden fehlerhaft?
Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI
Moderator: Co-Administratoren
Zurück zu „Softwareentwicklung von externen Applikationen“
Gehe zu
- Allgemein
- ↳ Informationen zum HomeMatic-Forum
- ↳ Neubau - Renovierung - Planung
- ↳ Projektvorstellungen
- ↳ Usertreffen und Stammtische
- ↳ Vergangene Aktivitäten
- ↳ OffTopic
- ↳ Tiergarten
- HomeMatic
- ↳ HomeMatic allgemein
- ↳ HomeMatic Tipps & Tricks - keine Fragen!
- ↳ HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)
- ↳ HmIP-HCU - Home Control Unit
- ↳ HomeMatic OCCU
- ↳ Allgemeines zur OCCU
- ↳ OCCU Entwicklung
- ↳ debmatic
- ↳ piVCCU
- ↳ RaspberryMatic
- ↳ x86-CCU
- ↳ YAHM
- ↳ HomeMatic Aktoren und Sensoren (klassisch)
- ↳ HomeMatic IP Aktoren und Sensoren
- ↳ HomeMatic IP wired Aktoren und Sensoren
- ↳ HomeMatic IP mit Access Point
- ↳ HomeMatic IP mit CCU
- ↳ HomeMatic - bekannte Bugs
- ↳ HomeMatic Addons
- ↳ CCU-Historian
- ↳ CCU.IO
- ↳ CCU-Jack
- ↳ CloudMatic
- ↳ CUxD
- ↳ Hue-Addon
- ↳ RedMatic
- ↳ WebMatic
- ↳ Sonstige Addons
- ↳ HomeMatic Entwicklung
- ↳ Softwareentwicklung für die HomeMatic CCU
- ↳ Softwareentwicklung von externen Applikationen
- ↳ Hardwareentwicklung und Selbstbau von Aktoren und Sensoren
- ↳ 3D-Druck
- ↳ HomeMatic Apps und Desktop-Anwendungen
- ↳ TinyMatic
- ↳ Externe Steuerungen und Visualisierungen
- ↳ Home Assistant
- ↳ homeputer CL
- ↳ homeputer CL - Bugs & Updatewünsche
- ↳ IP-Symcon
- ↳ mediola
- ↳ openHAB
- ↳ Sonstige Steuerungen und Visualisierungen
- ↳ HomeMatic - english
- FHZ-, FS20-, HMS100-, FHT-, KeyMatic- & sonstige Hardware
- ↳ ELV FHZ Funk-Hauszentralen
- ↳ ELV FS20 Sender, Empfänger und Aktoren
- ↳ ELV HMS-Alarm Sensoren und Aktoren
- ↳ ELV FHT-Komponenten
- ↳ ELV Wettersensoren / Wetterstationen
- ↳ ELV KeyMatic Funk-Codeschloss & Türschlossantrieb
- ↳ Sonstige Hardware (Vellemann USB-Board, IRTrans, ALLNET)
- FHZ Software / Programmierung
- ↳ homeputer Studio / Standard: allgemeine Fragen
- ↳ homeputer Studio / Standard: Programmierbeispiele
- ↳ homeputer Studio / Standard: Bugs & Updatewünsche
- ↳ FHZ unter Linux / MacOSX
- Markt
- ↳ Private Kleinanzeigen