Example #1
0
 public MqttItem(string topic, RuleConfiguration ruleConfiguration)
 {
     _ruleConfiguration = ruleConfiguration;
     Topic = topic;
     if (!HaveToIgnore())
     {
         CreateJsonValueConverter(Topic);
         var measurementName = GetMeasurementName();
         var type = GetMeasurementType(measurementName);
         _measurement = CreateMeasurement(measurementName, type);
         _measurement.RuleConfiguration = ruleConfiguration;
     }
 }
Example #2
0
 private void LoadConfig()
 {
     var filePath = ConfigFilePath();
     if (File.Exists(filePath))
     {
         _ruleConfiguration = new JavaScriptSerializer(null, false, int.MaxValue, int.MaxValue, true, false).Deserialize<RuleConfiguration>(File.ReadAllText(filePath));
     }
     else
     {
         LoadDefaultConfig();
         SaveConfig();
     }
 }
Example #3
0
 private void LoadDefaultConfig()
 {
     _ruleConfiguration = new RuleConfiguration();
     _ruleConfiguration.IgnoringRules.Add(new IgnoreRule("^OpenHAB.out.cb"));
     _ruleConfiguration.NamingRules.Add(new NamingRule("/", "."));
     _ruleConfiguration.TypeRules.Add(new TypeRule(".State$", "byte"));
     _ruleConfiguration.TypeRules.Add(new TypeRule(".State$", "byte"));
     _ruleConfiguration.TextConverterRules.Add(new TextConverterRule("ON", "1"));
     _ruleConfiguration.TextConverterRules.Add(new TextConverterRule("OFF", "0"));
     _ruleConfiguration.TextConverterRules.Add(new TextConverterRule("OPEN", "1"));
     _ruleConfiguration.TextConverterRules.Add(new TextConverterRule("CLOSED", "0"));
     _ruleConfiguration.JsonConverterRules.Add(new JsonConverterRule("^hm/status/.*", "val"));
     _ruleConfiguration.RecordingRules.Add(new RecordingRule("testChange", "change"));
     _ruleConfiguration.RecordingRules.Add(new RecordingRule("testInterval", "10s"));
     _ruleConfiguration.RecordingRules.Add(new RecordingRule("State$", "change"));
     _ruleConfiguration.RecordingRules.Add(new RecordingRule(".*", "30s"));
 }