//--- (generated code: YMessageBox implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("slotsInUse"))
            {
                _slotsInUse = json_val.getInt("slotsInUse");
            }
            if (json_val.has("slotsCount"))
            {
                _slotsCount = json_val.getInt("slotsCount");
            }
            if (json_val.has("slotsBitmap"))
            {
                _slotsBitmap = json_val.getString("slotsBitmap");
            }
            if (json_val.has("pduSent"))
            {
                _pduSent = json_val.getInt("pduSent");
            }
            if (json_val.has("pduReceived"))
            {
                _pduReceived = json_val.getInt("pduReceived");
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #2
0
        internal virtual string imm_get_json_path_struct(YJSONObject jsonObject, string[] paths, int ofs)
        {
            string key = paths[ofs];

            if (!jsonObject.has(key))
            {
                return("");
            }

            YJSONContent obj = jsonObject.get(key);

            if (obj != null)
            {
                if (paths.Length == ofs + 1)
                {
                    return(obj.toJSON());
                }

                if (obj is YJSONArray)
                {
                    return(imm_get_json_path_array(jsonObject.getYJSONArray(key), paths, ofs + 1));
                }
                else if (obj is YJSONObject)
                {
                    return(imm_get_json_path_struct(jsonObject.getYJSONObject(key), paths, ofs + 1));
                }
            }
            return("");
        }
Beispiel #3
0
        //--- (YWakeUpSchedule implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("minutesA"))
            {
                _minutesA = json_val.getInt("minutesA");
            }
            if (json_val.has("minutesB"))
            {
                _minutesB = json_val.getInt("minutesB");
            }
            if (json_val.has("hours"))
            {
                _hours = json_val.getInt("hours");
            }
            if (json_val.has("weekDays"))
            {
                _weekDays = json_val.getInt("weekDays");
            }
            if (json_val.has("monthDays"))
            {
                _monthDays = json_val.getInt("monthDays");
            }
            if (json_val.has("months"))
            {
                _months = json_val.getInt("months");
            }
            if (json_val.has("nextOccurence"))
            {
                _nextOccurence = json_val.getLong("nextOccurence");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #4
0
        /// <summary>
        /// Preloads the function cache with a specified validity duration.
        /// By default, whenever accessing a device, all function attributes
        /// are kept in cache for the standard duration (5 ms). This method can be
        /// used to temporarily mark the cache as valid for a longer period, in order
        /// to reduce network traffic for instance.
        /// </summary>
        /// <param name="msValidity"> : an integer corresponding to the validity attributed to the
        ///         loaded function parameters, in milliseconds
        /// </param>
        /// <returns> YAPI.SUCCESS when the call succeeds.
        /// </returns>
        /// <exception cref="YAPI_Exception"> on error </exception>
        public virtual async Task <int> load(ulong msValidity)
        {
            YJSONObject json_obj = await _devRequest("");

            _parse(json_obj, msValidity);
            return(YAPI.SUCCESS);
        }
Beispiel #5
0
        //--- (generated code: YWireless implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("linkQuality"))
            {
                _linkQuality = json_val.getInt("linkQuality");
            }
            if (json_val.has("ssid"))
            {
                _ssid = json_val.getString("ssid");
            }
            if (json_val.has("channel"))
            {
                _channel = json_val.getInt("channel");
            }
            if (json_val.has("security"))
            {
                _security = json_val.getInt("security");
            }
            if (json_val.has("message"))
            {
                _message = json_val.getString("message");
            }
            if (json_val.has("wlanConfig"))
            {
                _wlanConfig = json_val.getString("wlanConfig");
            }
            if (json_val.has("wlanState"))
            {
                _wlanState = json_val.getInt("wlanState");
            }
            base.imm_parseAttr(json_val);
        }
        //--- (generated code: YDataLogger implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("currentRunIndex"))
            {
                _currentRunIndex = json_val.getInt("currentRunIndex");
            }
            if (json_val.has("timeUTC"))
            {
                _timeUTC = json_val.getLong("timeUTC");
            }
            if (json_val.has("recording"))
            {
                _recording = json_val.getInt("recording");
            }
            if (json_val.has("autoStart"))
            {
                _autoStart = json_val.getInt("autoStart") > 0 ? 1 : 0;
            }
            if (json_val.has("beaconDriven"))
            {
                _beaconDriven = json_val.getInt("beaconDriven") > 0 ? 1 : 0;
            }
            if (json_val.has("clearHistory"))
            {
                _clearHistory = json_val.getInt("clearHistory") > 0 ? 1 : 0;
            }
            base.imm_parseAttr(json_val);
        }
        //--- (YWeighScale implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("excitation"))
            {
                _excitation = json_val.getInt("excitation");
            }
            if (json_val.has("compTempAdaptRatio"))
            {
                _compTempAdaptRatio = Math.Round(json_val.getDouble("compTempAdaptRatio") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("compTempAvg"))
            {
                _compTempAvg = Math.Round(json_val.getDouble("compTempAvg") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("compTempChg"))
            {
                _compTempChg = Math.Round(json_val.getDouble("compTempChg") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("compensation"))
            {
                _compensation = Math.Round(json_val.getDouble("compensation") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("zeroTracking"))
            {
                _zeroTracking = Math.Round(json_val.getDouble("zeroTracking") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
        //--- (YGenericSensor implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("signalValue"))
            {
                _signalValue = Math.Round(json_val.getDouble("signalValue") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("signalUnit"))
            {
                _signalUnit = json_val.getString("signalUnit");
            }
            if (json_val.has("signalRange"))
            {
                _signalRange = json_val.getString("signalRange");
            }
            if (json_val.has("valueRange"))
            {
                _valueRange = json_val.getString("valueRange");
            }
            if (json_val.has("signalBias"))
            {
                _signalBias = Math.Round(json_val.getDouble("signalBias") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("signalSampling"))
            {
                _signalSampling = json_val.getInt("signalSampling");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #9
0
        //--- (YRangeFinder implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("rangeFinderMode"))
            {
                _rangeFinderMode = json_val.getInt("rangeFinderMode");
            }
            if (json_val.has("timeFrame"))
            {
                _timeFrame = json_val.getLong("timeFrame");
            }
            if (json_val.has("quality"))
            {
                _quality = json_val.getInt("quality");
            }
            if (json_val.has("hardwareCalibration"))
            {
                _hardwareCalibration = json_val.getString("hardwareCalibration");
            }
            if (json_val.has("currentTemperature"))
            {
                _currentTemperature = Math.Round(json_val.getDouble("currentTemperature") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
        // Get the whole REST API string for a device, from cache if possible
        internal virtual async Task <YJSONObject> requestAPI()
        {
            if (_cache_expiration > YAPI.GetTickCount())
            {
                return(_cache_json);
            }

            string request;

            if (_cache_json == null)
            {
                request = "GET /api.json \r\n\r\n";
            }
            else
            {
                string fw = _cache_json.getYJSONObject("module").getString("firmwareRelease");
                request = "GET /api.json?fw=" + YAPIContext.imm_escapeAttr(fw) + " \r\n\r\n";
            }

            string yreq = await requestHTTPSyncAsString(request, null);

            YJSONObject cache_json;

            try {
                cache_json = new YJSONObject(yreq);
                cache_json.parseWithRef(_cache_json);
            } catch (Exception ex) {
                _cache_json = null;
                throw new YAPI_Exception(YAPI.IO_ERROR, "Request failed, could not parse API (" + ex.Message + ")");
            }

            this._cache_expiration = YAPI.GetTickCount() + YAPI.DefaultCacheValidity;
            this._cache_json       = cache_json;
            return(cache_json);
        }
Beispiel #11
0
        //--- (YBuzzer implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("frequency"))
            {
                _frequency = Math.Round(json_val.getDouble("frequency") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("volume"))
            {
                _volume = json_val.getInt("volume");
            }
            if (json_val.has("playSeqSize"))
            {
                _playSeqSize = json_val.getInt("playSeqSize");
            }
            if (json_val.has("playSeqMaxSize"))
            {
                _playSeqMaxSize = json_val.getInt("playSeqMaxSize");
            }
            if (json_val.has("playSeqSignature"))
            {
                _playSeqSignature = json_val.getInt("playSeqSignature");
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
        private void convert(YJSONObject reference, YJSONArray newArray)
        {
            int length = newArray.Length;

            for (int i = 0; i < length; i++)
            {
                string       key            = reference.getKeyFromIdx(i);
                YJSONContent new_item       = newArray.get(i);
                YJSONContent reference_item = reference.get(key);

                if (new_item.getJSONType() == reference_item.getJSONType())
                {
                    parsed.Add(key, new_item);
                    _keys.Add(key);
                }
                else if (new_item.getJSONType() == YJSONType.ARRAY && reference_item.getJSONType() == YJSONType.OBJECT)
                {
                    YJSONObject jobj = new YJSONObject(new_item._data, new_item._data_start, reference_item._data_boundary);
                    jobj.convert((YJSONObject)reference_item, (YJSONArray)new_item);
                    parsed.Add(key, jobj);
                    _keys.Add(key);
                }
                else
                {
                    throw new System.Exception("Unable to convert " + new_item.getJSONType().ToString() + " to " + reference.getJSONType().ToString());
                }
            }
        }
Beispiel #13
0
        //--- (YWakeUpMonitor implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("powerDuration"))
            {
                _powerDuration = json_val.getInt("powerDuration");
            }
            if (json_val.has("sleepCountdown"))
            {
                _sleepCountdown = json_val.getInt("sleepCountdown");
            }
            if (json_val.has("nextWakeUp"))
            {
                _nextWakeUp = json_val.getLong("nextWakeUp");
            }
            if (json_val.has("wakeUpReason"))
            {
                _wakeUpReason = json_val.getInt("wakeUpReason");
            }
            if (json_val.has("wakeUpState"))
            {
                _wakeUpState = json_val.getInt("wakeUpState");
            }
            if (json_val.has("rtcTime"))
            {
                _rtcTime = json_val.getLong("rtcTime");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #14
0
        //--- (YOsControl implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("shutdownCountdown"))
            {
                _shutdownCountdown = json_val.getInt("shutdownCountdown");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #15
0
        //--- (YPwmPowerSource implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("powerMode"))
            {
                _powerMode = json_val.getInt("powerMode");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #16
0
        //--- (YLightSensor implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("measureType"))
            {
                _measureType = json_val.getInt("measureType");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #17
0
        //--- (YPowerOutput implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("voltage"))
            {
                _voltage = json_val.getInt("voltage");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #18
0
        //--- (YCurrent implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("enabled"))
            {
                _enabled = json_val.getInt("enabled") > 0 ? 1 : 0;
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #19
0
        protected internal virtual string imm_get_json_path(string json, string path)
        {
            YJSONObject jsonObject = null;

            jsonObject = new YJSONObject(json);
            jsonObject.parse();
            string[] split = path.Split(new char[] { '\\', '|' });
            return(imm_get_json_path_struct(jsonObject, split, 0));
        }
Beispiel #20
0
        //--- (YGps implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("isFixed"))
            {
                _isFixed = json_val.getInt("isFixed") > 0 ? 1 : 0;
            }
            if (json_val.has("satCount"))
            {
                _satCount = json_val.getLong("satCount");
            }
            if (json_val.has("coordSystem"))
            {
                _coordSystem = json_val.getInt("coordSystem");
            }
            if (json_val.has("latitude"))
            {
                _latitude = json_val.getString("latitude");
            }
            if (json_val.has("longitude"))
            {
                _longitude = json_val.getString("longitude");
            }
            if (json_val.has("dilution"))
            {
                _dilution = Math.Round(json_val.getDouble("dilution") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("altitude"))
            {
                _altitude = Math.Round(json_val.getDouble("altitude") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("groundSpeed"))
            {
                _groundSpeed = Math.Round(json_val.getDouble("groundSpeed") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("direction"))
            {
                _direction = Math.Round(json_val.getDouble("direction") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("unixTime"))
            {
                _unixTime = json_val.getLong("unixTime");
            }
            if (json_val.has("dateTime"))
            {
                _dateTime = json_val.getString("dateTime");
            }
            if (json_val.has("utcOffset"))
            {
                _utcOffset = json_val.getInt("utcOffset");
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #21
0
        //--- (YPowerSupply implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("voltageSetPoint"))
            {
                _voltageSetPoint = Math.Round(json_val.getDouble("voltageSetPoint") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("currentLimit"))
            {
                _currentLimit = Math.Round(json_val.getDouble("currentLimit") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("powerOutput"))
            {
                _powerOutput = json_val.getInt("powerOutput") > 0 ? 1 : 0;
            }
            if (json_val.has("voltageSense"))
            {
                _voltageSense = json_val.getInt("voltageSense");
            }
            if (json_val.has("measuredVoltage"))
            {
                _measuredVoltage = Math.Round(json_val.getDouble("measuredVoltage") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("measuredCurrent"))
            {
                _measuredCurrent = Math.Round(json_val.getDouble("measuredCurrent") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("inputVoltage"))
            {
                _inputVoltage = Math.Round(json_val.getDouble("inputVoltage") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("vInt"))
            {
                _vInt = Math.Round(json_val.getDouble("vInt") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("ldoTemperature"))
            {
                _ldoTemperature = Math.Round(json_val.getDouble("ldoTemperature") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("voltageTransition"))
            {
                _voltageTransition = json_val.getString("voltageTransition");
            }
            if (json_val.has("voltageAtStartUp"))
            {
                _voltageAtStartUp = Math.Round(json_val.getDouble("voltageAtStartUp") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("currentAtStartUp"))
            {
                _currentAtStartUp = Math.Round(json_val.getDouble("currentAtStartUp") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #22
0
        //--- (end of generated code: YFileRecord definitions)

        public YFileRecord(string json_str)
        {
            YJSONObject json;

            json = new YJSONObject(json_str);
            json.parse();
            _name = json.getString("name");
            _crc  = json.getInt("crc");
            _size = json.getInt("size");
        }
Beispiel #23
0
        //--- (end of generated code: YWlanRecord definitions)

        internal YWlanRecord(string json_str)
        {
            YJSONObject json = new YJSONObject(json_str);

            json.parse();
            _ssid    = json.getString("ssid");
            _channel = json.getInt("channel");
            _sec     = json.getString("sec");
            _rssi    = json.getInt("rssi");
        }
Beispiel #24
0
        //--- (end of generated code: YSnoopingRecord definitions)

        internal YSnoopingRecord(string json_str)
        {
            YJSONObject json = new YJSONObject(json_str);

            json.parse();
            _tim = json.getInt("t");
            string m = json.getString("m");

            _dir = (m[0] == '<' ? 1 : 0);
            _msg = m.Substring(1);
        }
Beispiel #25
0
        //--- (generated code: YFunction implementation)
#pragma warning disable 1998
        internal virtual void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("logicalName"))
            {
                _logicalName = json_val.getString("logicalName");
            }
            if (json_val.has("advertisedValue"))
            {
                _advertisedValue = json_val.getString("advertisedValue");
            }
        }
Beispiel #26
0
        //--- (YAltitude implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("qnh"))
            {
                _qnh = Math.Round(json_val.getDouble("qnh") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("technology"))
            {
                _technology = json_val.getString("technology");
            }
            base.imm_parseAttr(json_val);
        }
        //--- (YSegmentedDisplay implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("displayedText"))
            {
                _displayedText = json_val.getString("displayedText");
            }
            if (json_val.has("displayMode"))
            {
                _displayMode = json_val.getInt("displayMode");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #28
0
        //--- (YArithmeticSensor implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("description"))
            {
                _description = json_val.getString("description");
            }
            if (json_val.has("command"))
            {
                _command = json_val.getString("command");
            }
            base.imm_parseAttr(json_val);
        }
        //--- (generated code: YFiles implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("filesCount"))
            {
                _filesCount = json_val.getInt("filesCount");
            }
            if (json_val.has("freeSpace"))
            {
                _freeSpace = json_val.getInt("freeSpace");
            }
            base.imm_parseAttr(json_val);
        }
Beispiel #30
0
        //--- (YHumidity implementation)
#pragma warning disable 1998
        internal override void imm_parseAttr(YJSONObject json_val)
        {
            if (json_val.has("relHum"))
            {
                _relHum = Math.Round(json_val.getDouble("relHum") * 1000.0 / 65536.0) / 1000.0;
            }
            if (json_val.has("absHum"))
            {
                _absHum = Math.Round(json_val.getDouble("absHum") * 1000.0 / 65536.0) / 1000.0;
            }
            base.imm_parseAttr(json_val);
        }