Ejemplo n.º 1
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (SpecVersion.Length != 0)
            {
                hash ^= SpecVersion.GetHashCode();
            }
            if (meta_ != null)
            {
                hash ^= Meta.GetHashCode();
            }
            if (humanoid_ != null)
            {
                hash ^= Humanoid.GetHashCode();
            }
            if (firstPerson_ != null)
            {
                hash ^= FirstPerson.GetHashCode();
            }
            if (lookAt_ != null)
            {
                hash ^= LookAt.GetHashCode();
            }
            if (blendShape_ != null)
            {
                hash ^= BlendShape.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates a new instance, using the specified <see cref="CloudEventsSpecVersion"/>
 /// and the specified initial extension attributes.
 /// </summary>
 /// <param name="specVersion">CloudEvents Specification version for this instance. Must not be null.</param>
 /// <param name="extensionAttributes">Initial extension attributes. May be null, which is equivalent
 /// to an empty sequence.</param>
 public CloudEvent(CloudEventsSpecVersion specVersion, IEnumerable <CloudEventAttribute> extensionAttributes)
 {
     // TODO: Work out how to be more efficient, e.g. not creating a dictionary at all if there are no
     // extension attributes.
     SpecVersion = Validation.CheckNotNull(specVersion, nameof(specVersion));
     if (extensionAttributes is object)
     {
         foreach (var extension in extensionAttributes)
         {
             Validation.CheckArgument(
                 extension is object,
                 nameof(extensionAttributes),
                 "Extension attribute collection cannot contain null elements");
             Validation.CheckArgument(
                 extension.Name != CloudEventsSpecVersion.SpecVersionAttributeName,
                 nameof(extensionAttributes),
                 "The 'specversion' attribute cannot be specified as an extension attribute");
             Validation.CheckArgument(
                 SpecVersion.GetAttributeByName(extension.Name) is null,
                 nameof(extensionAttributes),
                 "'{0}' cannot be specified as the name of an extension attribute; it is already a context attribute",
                 extension.Name);
             Validation.CheckArgument(
                 extension.IsExtension,
                 nameof(extensionAttributes),
                 "'{0}' is not an extension attribute",
                 extension.Name);
             Validation.CheckArgument(
                 !this.extensionAttributes.ContainsKey(extension.Name),
                 nameof(extensionAttributes),
                 "'{0}' cannot be specified more than once as an extension attribute");
             this.extensionAttributes.Add(extension.Name, extension);
         }
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Compare this package's specification version with a
        /// desired version. It returns true if
        /// this packages specification version number is greater than or equal
        /// to the desired version number. <para>
        ///
        /// Version numbers are compared by sequentially comparing corresponding
        /// components of the desired and specification strings.
        /// Each component is converted as a decimal integer and the values
        /// compared.
        /// If the specification value is greater than the desired
        /// value true is returned. If the value is less false is returned.
        /// If the values are equal the period is skipped and the next pair of
        /// components is compared.
        ///
        /// </para>
        /// </summary>
        /// <param name="desired"> the version string of the desired version. </param>
        /// <returns> true if this package's version number is greater
        ///          than or equal to the desired version number
        /// </returns>
        /// <exception cref="NumberFormatException"> if the desired or current version
        ///          is not of the correct dotted form. </exception>
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public boolean isCompatibleWith(String desired) throws NumberFormatException
        public virtual bool IsCompatibleWith(String desired)
        {
            if (SpecVersion == reflect.AnnotatedElement_Fields.Null || SpecVersion.Length() < 1)
            {
                throw new NumberFormatException("Empty version string");
            }

            String[] sa = SpecVersion.Split("\\.", -1);
            int[]    si = new int[sa.Length];
            for (int i = 0; i < sa.Length; i++)
            {
                si[i] = Convert.ToInt32(sa[i]);
                if (si[i] < 0)
                {
                    throw NumberFormatException.ForInputString("" + si[i]);
                }
            }

            String[] da = desired.Split("\\.", -1);
            int[]    di = new int[da.Length];
            for (int i = 0; i < da.Length; i++)
            {
                di[i] = Convert.ToInt32(da[i]);
                if (di[i] < 0)
                {
                    throw NumberFormatException.ForInputString("" + di[i]);
                }
            }

            int len = System.Math.Max(di.Length, si.Length);

            for (int i = 0; i < len; i++)
            {
                int d = (i < di.Length ? di[i] : 0);
                int s = (i < si.Length ? si[i] : 0);
                if (s < d)
                {
                    return(false);
                }
                if (s > d)
                {
                    return(true);
                }
            }
            return(true);
        }
Ejemplo n.º 4
0
        public static ServiceDiscoveryModel GetDeviceDescription()
        {
            var antdPort    = Application.CurrentConfiguration.WebService.GuiWebServicePort;
            var specVersion = new SpecVersion {
                Major = "0", Minor = "0"
            };
            var services = new List <models.Service> {
                new models.Service {
                    ServiceType = $"antd_{antdPort}",
                    ServiceId   = "0",
                    ControlURL  = "",
                    EventSubURL = "",
                    SCPDURL     = ""
                },
                new models.Service {
                    ServiceType = "other service",
                    ServiceId   = "1",
                    ControlURL  = "",
                    EventSubURL = "",
                    SCPDURL     = ""
                },
            };
            var serviceList = new ServiceList {
                Service = services
            };
            var device = new Device {
                DeviceType       = "anthilla os device",
                FriendlyName     = Application.CurrentConfiguration.Host.HostName,
                Manufacturer     = "Anthilla SRL",
                ManufacturerURL  = "www.anthilla.com",
                ModelDescription = "anthilla os device",
                ModelName        = "anthilla os device",
                ModelNumber      = Application.CurrentConfiguration.Host.PartNumber.ToString(),
                ModelURL         = "www.anthilla.com",
                SerialNumber     = Application.CurrentConfiguration.Host.SerialNumber.ToString(),
                UDN         = Application.CurrentConfiguration.Host.MachineUid.ToString(),
                UPC         = Application.CurrentConfiguration.Host.MachineUid.ToString(),
                ServiceList = serviceList,
            };
            var descr = new ServiceDiscoveryModel {
                SpecVersion = specVersion,
                Device      = device
            };

            return(descr);
        }
Ejemplo n.º 5
0
        public static ServiceDiscoveryModel GetDeviceDescription()
        {
            var antdPort    = new AppConfiguration().Get().AntdUiPort;
            var specVersion = new SpecVersion {
                Major = "0", Minor = "0"
            };
            var services = new List <Service> {
                new Service {
                    ServiceType = $"antd_{antdPort}",
                    ServiceId   = "0",
                    ControlURL  = "",
                    EventSubURL = "",
                    SCPDURL     = ""
                },
                new Service {
                    ServiceType = "other service",
                    ServiceId   = "1",
                    ControlURL  = "",
                    EventSubURL = "",
                    SCPDURL     = ""
                },
            };
            var serviceList = new ServiceList {
                Service = services
            };
            var device = new Device {
                DeviceType       = "anthilla os device",
                FriendlyName     = Hostname,
                Manufacturer     = "Anthilla SRL",
                ManufacturerURL  = "www.anthilla.com",
                ModelDescription = "anthilla os device",
                ModelName        = "anthilla os device",
                ModelNumber      = PartNumber,
                ModelURL         = "www.anthilla.com",
                SerialNumber     = SerialNumber,
                UDN         = MachineUid,
                UPC         = MachineUid,
                ServiceList = serviceList,
            };
            var descr = new ServiceDiscoveryModel {
                SpecVersion = specVersion,
                Device      = device
            };

            return(descr);
        }
Ejemplo n.º 6
0
 public ServiceController(IEnumerable <ServiceAction> actions, IEnumerable <StateVariable> stateVariables)
 {
     this.actions         = Helper.MakeReadOnlyCopy <string, ServiceAction> (actions);
     this.state_variables = Helper.MakeReadOnlyCopy <string, StateVariable> (stateVariables);
     SpecVersion          = new SpecVersion(1, 1);
 }
Ejemplo n.º 7
0
        static void HandleElapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            System.Collections.Generic.Dictionary <string, string> dConfig = new System.Collections.Generic.Dictionary <string, string> ();

            if (!System.IO.Directory.Exists("dyndata"))
            {
                System.IO.Directory.CreateDirectory("dyndata");
            }

            bool Enable = false; string ConnectionStatus = "Unbekannt"; string PossibleConnectionTypes = "Unbekannt"; string ConnectionType = "Unbekannt"; string Name = "Unbekannt"; uint Uptime = 0; uint UpstreamMaxBitRate = 0; uint DownstreamMaxBitRate = 0; string LastConnectionError = ""; uint IdleDisconnectTime = 0; bool RSIPAvailable = false; string UserName = "******"; bool NATEnabled = false; string ExternalIPAddress = "0.0.0.0"; string DNSServers = "0.0.0.0"; string MACAddress = "::::"; string ConnectionTrigger = "Unbekannt"; string LastAuthErrorInfo = ""; ushort MaxCharsUsername = 0; ushort MinCharsUsername = 0; string AllowedCharsUsername = "******"; ushort MaxCharsPassword = 0; ushort MinCharsPassword = 0; string AllowedCharsPassword = "******"; string TransportType = "Unbekannt"; string RouteProtocolRx = "Unbekannt"; string PPPoEServiceName = "Unbekannt"; string RemoteIPAddress = "0.0.0.0"; string PPPoEACName = "Unbekannt"; bool DNSEnabled = false; bool DNSOverrideAllowed = false;

            try {
                Wanpppconn1 service = new Wanpppconn1("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
                service.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
                service.GetInfo(out Enable, out ConnectionStatus, out PossibleConnectionTypes, out ConnectionType, out Name, out Uptime, out UpstreamMaxBitRate, out DownstreamMaxBitRate, out LastConnectionError, out IdleDisconnectTime, out RSIPAvailable, out UserName, out NATEnabled, out ExternalIPAddress, out DNSServers, out MACAddress, out ConnectionTrigger, out LastAuthErrorInfo, out MaxCharsUsername, out MinCharsUsername, out AllowedCharsUsername, out MaxCharsPassword, out MinCharsPassword, out AllowedCharsPassword, out TransportType, out RouteProtocolRx, out PPPoEServiceName, out RemoteIPAddress, out PPPoEACName, out DNSEnabled, out DNSOverrideAllowed);
                dConfig.Clear();
                dConfig.Add("Enable", Enable.ToString());
                dConfig.Add("ConnectionStatus", ConnectionStatus.ToString());
                dConfig.Add("PossibleConnectionTypes", PossibleConnectionTypes.ToString());
                dConfig.Add("ConnectionType", ConnectionType.ToString());
                dConfig.Add("Name", Name.ToString());
                dConfig.Add("Uptime", System.DateTime.Now.AddSeconds(Uptime).ToString());
                dConfig.Add("UpstreamMaxBitRate", UpstreamMaxBitRate.ToString());
                dConfig.Add("DownstreamMaxBitRate", DownstreamMaxBitRate.ToString());
                dConfig.Add("LastConnectionError", LastConnectionError.ToString());
                dConfig.Add("IdleDisconnectTime", IdleDisconnectTime.ToString());
                dConfig.Add("RSIPAvailable", RSIPAvailable.ToString());
                dConfig.Add("UserName", UserName.ToString());
                dConfig.Add("NATEnabled", NATEnabled.ToString());
                dConfig.Add("ExternalIPAddress", ExternalIPAddress.ToString());
                dConfig.Add("DNSServers", DNSServers.ToString());
                dConfig.Add("MACAddress", MACAddress.ToString());
                dConfig.Add("ConnectionTrigger", ConnectionTrigger.ToString());
                dConfig.Add("LastAuthErrorInfo", LastAuthErrorInfo.ToString());
                dConfig.Add("MaxCharsUsername", MaxCharsUsername.ToString());
                dConfig.Add("MinCharsUsername", MinCharsUsername.ToString());
                dConfig.Add("AllowedCharsUsername", AllowedCharsUsername.ToString());
                dConfig.Add("MaxCharsPassword", MaxCharsPassword.ToString());
                dConfig.Add("MinCharsPassword", MinCharsPassword.ToString());
                dConfig.Add("AllowedCharsPassword", AllowedCharsPassword.ToString());
                dConfig.Add("TransportType", TransportType.ToString());
                dConfig.Add("RouteProtocolRx", RouteProtocolRx.ToString());
                dConfig.Add("PPPoEServiceName", PPPoEServiceName.ToString());
                dConfig.Add("RemoteIPAddress", RemoteIPAddress.ToString());
                dConfig.Add("PPPoEACName", PPPoEACName.ToString());
                dConfig.Add("DNSEnabled", DNSEnabled.ToString());
                dConfig.Add("DNSOverrideAllowed", DNSOverrideAllowed.ToString());
                FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/wanppp.info");
            } catch (Exception ex) {
                FeuerwehrCloud.Helper.Logger.WriteLine(FeuerwehrCloud.Helper.Helper.GetExceptionDescription(ex));
            }



            System.Net.WebClient WC = new WebClient();

            FritzTR064.Generated.Tam cTam = new Tam("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
            cTam.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
            string TamList;

            for (ushort i = 0; i < 5; i++)
            {
                ushort Index;
                bool   abEnable;
                string abName;
                bool   TAMRunning;
                ushort Stick;
                ushort Status;
                cTam.GetInfo(i, out abEnable, out abName, out TAMRunning, out Stick, out Status);
                dConfig.Clear();
                dConfig.Add("Enable", abEnable.ToString());
                dConfig.Add("Name", abName.ToString());
                dConfig.Add("TAMRunning", TAMRunning.ToString());
                dConfig.Add("Stick", Stick.ToString());
                dConfig.Add("Status", Status.ToString());
                if (abEnable == true)
                {
                    cTam.GetMessageList(i, out TamList);
                    WC.Credentials = cTam.SoapHttpClientProtocol.Credentials;
                    WC.DownloadFile(TamList, "dyndata/tam" + i.ToString() + ".xml");
                }
                FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/tam.info");
            }


            FritzTR064.Generated.Contact c = new Contact("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
            c.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
            string calllist; string DectIDList; string HandsetName; ushort PhonebookID;  bool cEnable; string cStatus; string LastConnect; string Url; string ServiceId; string Username;

            dConfig.Clear();
            c.GetCallList(out calllist);
            WC.Credentials = c.SoapHttpClientProtocol.Credentials;
            WC.DownloadFile(calllist, "dyndata/calllist.xml");
            try {
                c.GetInfo(out cEnable, out cStatus, out LastConnect, out Url, out ServiceId, out UserName, out Name);
                dConfig.Add("Enable", cEnable.ToString());
                dConfig.Add("Status", cStatus.ToString());
                dConfig.Add("LastConnect", LastConnect.ToString());
                dConfig.Add("Url", Url.ToString());
                dConfig.Add("ServiceId", ServiceId.ToString());
                dConfig.Add("Name", Name.ToString());
                if (cEnable)
                {
                    c.GetDECTHandsetList(out DectIDList);
                    for (ushort DectID = 1; DectID < 10; DectID++)
                    {
                        c.GetDECTHandsetInfo(DectID, out HandsetName, out PhonebookID);
                        dConfig.Add("DectID", DectID.ToString());
                        dConfig.Add("HandsetName-" + DectID.ToString(), HandsetName.ToString());
                        dConfig.Add("PhonebookID-" + DectID.ToString(), PhonebookID.ToString());
                    }
                }
                //			c.GetInfoByIndex();
                //			c.GetNumberOfEntries();
                //			c.GetPhonebook();
                //			c.GetPhonebookList();
            } catch (Exception ex) {
                FeuerwehrCloud.Helper.Logger.WriteLine(FeuerwehrCloud.Helper.Helper.GetExceptionDescription(ex));
            }


            FritzTR064.Generated.Wandslifconfig1 w1 = new Wandslifconfig1("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
            w1.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
            //FritzTR064.Generated.Wandsllinkconfig1 w2 = new Wandsllinkconfig1(());
            bool wandslIFEnable; string dslStatus; string DataPath; uint UpstreamCurrRate; uint DownstreamCurrRate; uint UpstreamMaxRate; uint DownstreamMaxRate; uint UpstreamNoiseMargin; uint DownstreamNoiseMargin; uint UpstreamAttenuation; uint DownstreamAttenuation; string ATURVendor; string ATURCountry; ushort UpstreamPower; ushort DownstreamPower;

            w1.GetInfo(out wandslIFEnable, out dslStatus, out DataPath, out UpstreamCurrRate, out DownstreamCurrRate, out UpstreamMaxRate, out DownstreamMaxRate, out UpstreamNoiseMargin, out DownstreamNoiseMargin, out UpstreamAttenuation, out DownstreamAttenuation, out ATURVendor, out ATURCountry, out UpstreamPower, out DownstreamPower);
            dConfig.Clear();
            dConfig.Add("wandslIFEnable", wandslIFEnable.ToString());
            dConfig.Add("Status", dslStatus.ToString());
            dConfig.Add("DataPath", DataPath.ToString());
            dConfig.Add("UpstreamCurrRate", UpstreamCurrRate.ToString());
            dConfig.Add("DownstreamCurrRate", DownstreamCurrRate.ToString());
            dConfig.Add("UpstreamMaxRate", UpstreamMaxRate.ToString());
            dConfig.Add("DownstreamMaxRate", DownstreamMaxRate.ToString());
            dConfig.Add("UpstreamNoiseMargin", UpstreamNoiseMargin.ToString());
            dConfig.Add("DownstreamNoiseMargin", DownstreamNoiseMargin.ToString());
            dConfig.Add("UpstreamAttenuation", UpstreamAttenuation.ToString());
            dConfig.Add("DownstreamAttenuation", DownstreamAttenuation.ToString());
            dConfig.Add("ATURVendor", ATURVendor.ToString());
            dConfig.Add("ATURCountry", ATURCountry.ToString());
            dConfig.Add("UpstreamPower", UpstreamPower.ToString());
            dConfig.Add("DownstreamPower", DownstreamPower.ToString());
            FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/wandsl.info");

            FritzTR064.Generated.Wlanconfig1 wlc = new Wlanconfig1("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
            wlc.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
            string wlStatus; bool wlEnable; string MaxBitRate; byte Channel; string SSID; string BeaconType; bool MACAddressControlEnabled; string Standard; string BSSID; string BasicEncryptionModes; string BasicAuthenticationMode; byte MaxCharsSSID; byte MinCharsSSID; string AllowedCharsSSID; byte MinCharsPSK; byte MaxCharsPSK; string AllowedCharsPSK;

            wlc.GetInfo(out wlEnable, out wlStatus, out MaxBitRate, out Channel, out SSID, out BeaconType, out MACAddressControlEnabled, out Standard, out BSSID, out BasicEncryptionModes, out BasicAuthenticationMode, out MaxCharsSSID, out MinCharsSSID, out AllowedCharsSSID, out MinCharsPSK, out MaxCharsPSK, out AllowedCharsPSK);
            dConfig.Clear();
            dConfig.Add("Enable", wlEnable.ToString());
            dConfig.Add("Status", wlStatus.ToString());
            dConfig.Add("MaxBitRate", MaxBitRate.ToString());
            dConfig.Add("Channel", Channel.ToString());
            dConfig.Add("SSID", SSID.ToString());
            dConfig.Add("BeaconType", BeaconType.ToString());
            dConfig.Add("MACAddressControlEnabled", MACAddressControlEnabled.ToString());
            dConfig.Add("Standard", Standard.ToString());
            dConfig.Add("BSSID", BSSID.ToString());
            dConfig.Add("BasicEncryptionModes", BasicEncryptionModes.ToString());
            dConfig.Add("BasicAuthenticationMode", BasicAuthenticationMode.ToString());
            dConfig.Add("MaxCharsSSID", MaxCharsSSID.ToString());
            dConfig.Add("MinCharsSSID", MinCharsSSID.ToString());
            dConfig.Add("AllowedCharsSSID", AllowedCharsSSID.ToString());
            dConfig.Add("MinCharsPSK", MinCharsPSK.ToString());
            dConfig.Add("MaxCharsPSK", MaxCharsPSK.ToString());
            dConfig.Add("AllowedCharsPSK", AllowedCharsPSK.ToString());
            FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/wlan.info");

            FritzTR064.Generated.Voip voip1 = new Voip("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
            voip1.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
            string NumberList; bool FaxT38Enable; string VoiceCoding; string ClientList; ushort ExistingVoIPNumbers; string PhoneName; uint NumberOfNumbers; ushort NumberOfClients; ushort MaxVoipNumbers;

            voip1.GetInfo(out FaxT38Enable, out VoiceCoding);
            voip1.GetClients(out ClientList);
            voip1.GetExistingVoIPNumbers(out ExistingVoIPNumbers);
            voip1.DialGetConfig(out PhoneName);
            voip1.GetNumbers(out NumberList);
            voip1.GetNumberOfNumbers(out NumberOfNumbers);
            voip1.GetNumberOfClients(out NumberOfClients);
            voip1.GetMaxVoIPNumbers(out MaxVoipNumbers);
            dConfig.Clear();
            dConfig.Add("NumberList", NumberList.ToString());
            dConfig.Add("FaxT38Enable", FaxT38Enable.ToString());
            dConfig.Add("VoiceCoding", VoiceCoding.ToString());
            dConfig.Add("ClientList", ClientList.ToString());
            dConfig.Add("ExistingVoIPNumbers", ExistingVoIPNumbers.ToString());
            dConfig.Add("PhoneName", PhoneName.ToString());
            dConfig.Add("NumberOfNumbers", NumberOfNumbers.ToString());
            dConfig.Add("NumberOfClients", NumberOfClients.ToString());
            dConfig.Add("MaxVoipNumbers", MaxVoipNumbers.ToString());
            FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/phone.info");

            string ManufacturerName; string ManufacturerOUI; string ModelName; string Description; string ProductClass; string SerialNumber; string SoftwareVersion; string HardwareVersion; string SpecVersion; string ProvisioningCode; uint UpTime; string DeviceLog;

            FritzTR064.Generated.Deviceinfo DevInfo = new Deviceinfo("https://" + NetConfig["Gateway"] + ":" + NetConfig["GW-SSL-Port"]);
            DevInfo.SoapHttpClientProtocol.Credentials = new NetworkCredential(NetConfig["TR064-Username"], NetConfig["FRITZPass"]);
            DevInfo.GetInfo(out ManufacturerName, out ManufacturerOUI, out ModelName, out Description, out ProductClass, out SerialNumber, out SoftwareVersion, out HardwareVersion, out SpecVersion, out ProvisioningCode, out UpTime, out DeviceLog);
            dConfig.Clear();
            dConfig.Add("ManufacturerName", ManufacturerName.ToString());
            dConfig.Add("ManufacturerOUI", ManufacturerOUI.ToString());
            dConfig.Add("ModelName", ModelName.ToString());
            dConfig.Add("Description", Description.ToString());
            dConfig.Add("ProductClass", ProductClass.ToString());
            dConfig.Add("SerialNumber", SerialNumber.ToString());
            dConfig.Add("SoftwareVersion", SoftwareVersion.ToString());
            dConfig.Add("HardwareVersion", HardwareVersion.ToString());
            dConfig.Add("SpecVersion", SpecVersion.ToString());
            dConfig.Add("ProvisioningCode", ProvisioningCode.ToString());
            dConfig.Add("UpTime", UpTime.ToString());
            dConfig.Add("DeviceLog", DeviceLog.ToString());
            FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/DeviceInfo.info");


            //FritzTR064.Generated.Contact

            //dConfig.Add("",xxxxxx.ToString());


            System.Diagnostics.Process P;

            P = new System.Diagnostics.Process()
            {
                StartInfo =
                {
                    FileName               = NetConfig ["fing"],
                    Arguments              = " -n " + NetConfig ["Gateway"] + "/24 -r 1 --session " + System.IO.Path.Combine(System.Environment.CurrentDirectory, "network.fing") + " -o table,csv," + System.IO.Path.Combine(System.Environment.CurrentDirectory, "network.csv"),
                    UseShellExecute        = false,
                    CreateNoWindow         = true,
                    RedirectStandardOutput = true
                }
            };
            P.Start();
            P.WaitForExit(10000);


            P = new System.Diagnostics.Process()
            {
                StartInfo =
                {
                    FileName               = "/usr/local/bin/lsusb",
                    WorkingDirectory       = "/tmp/",
                    UseShellExecute        = false,
                    CreateNoWindow         = true,
                    RedirectStandardOutput = true
                }
            };
            P.Start();
            string lsusb    = P.StandardOutput.ReadToEnd();
            int    USBCount = lsusb.Split(new [] { "\n" }, StringSplitOptions.RemoveEmptyEntries).Length;

            P.WaitForExit(10000);
            dConfig.Clear();
            dConfig.Add("Count", USBCount.ToString());
            FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/usb.info");

            P = new System.Diagnostics.Process()
            {
                StartInfo =
                {
                    FileName               = "/Users/systemiya-apple/i2cdetect.sh",
                    WorkingDirectory       = "/tmp/",
                    UseShellExecute        = false,
                    CreateNoWindow         = true,
                    RedirectStandardOutput = true
                }
            };
            P.Start();
            string lsi2c = P.StandardOutput.ReadToEnd();

            P.WaitForExit(10000);
            dConfig.Clear();
            string[] i2C      = lsi2c.Split(new [] { "--" }, StringSplitOptions.RemoveEmptyEntries);
            int      I2Ccount = 116 - (i2C.Length - 2);

            dConfig.Add("Count", I2Ccount.ToString());
            FeuerwehrCloud.Helper.AppSettings.Save(dConfig, "dyndata/i2c.info");
        }