internal void StartIceAge(TemperatureEvent evt, int cooldown) { if (!onCd) { StartTemperatureEvent(WorldTempChangeType.ICE_AGE, evt, cooldown); } }
public WorldTemp(float normalTemp, MapGenerator gen) { NormalTemp = normalTemp; tempEvent = new TemperatureEvent(); m_gen = gen; gen.IterationEvent += OnIteration; }
public List <TemperatureEvent> AnalyseNewData(RoadAndAirTempData data) { List <TemperatureEvent> events = new List <TemperatureEvent>(); events.AddRange(CheckExtreme(data, DataInfluenced.RoadTemperature)); events.AddRange(CheckExtreme(data, DataInfluenced.AirTemperature)); if (LasKnownValues.ContainsKey(data.StationName)) { Temperatures temps = LasKnownValues[data.StationName]; TemperatureEvent Event = CheckSudden(data, DataInfluenced.RoadTemperature, temps.RoadTemp); if (Event != null) { events.Add(Event); } Event = CheckSudden(data, DataInfluenced.AirTemperature, temps.AirTemp); if (Event != null) { events.Add(Event); } } if (LasKnownValues.ContainsKey(data.StationName)) { LasKnownValues[data.StationName] = new Temperatures(data.RoadTemperature, data.AirTemperature); } else { LasKnownValues.Add(data.StationName, new Temperatures(data.RoadTemperature, data.AirTemperature)); } return(events); }
private TemperatureEventSlider InstantiateEventSliders(TemperatureEvent e) { TemperatureEventSlider slider = Instantiate(eventSlider); slider.transform.SetParent(eventSlidersParent, false); slider.transform.SetAsFirstSibling(); slider.Init(e.temperatureTrigger, temperature.StartingTemperature, temperature.MaxTemperature); return(slider); }
public void InsertData(TemperatureEvent temperatureEvent) { string command = "insert into " + _unitOfWork.EventTable + " (\"DataInfluenced\", \"EventType\", \"Value\", \"Latitude\", \"Longitude\", \"Timestamp\", \"StationName\")" + "values ('" + temperatureEvent.DataInfluenced.ToString() + "', '" + temperatureEvent.EventType.ToString() + "', " + temperatureEvent.Value + ", " + temperatureEvent.Latitude + ", " + temperatureEvent.Longitude + ", '" + ConvertDateToString(temperatureEvent.Timestamp) + "', '" + temperatureEvent.StationName + "');"; _unitOfWork.CassandraSession.Execute(command); }
public async Task <ActionResult> AddEvent([FromBody] SiddhiDTO Event) { TemperatureEvent temp = new TemperatureEvent(Event.Event); Console.WriteLine("Received siddhi"); await _notifyService.NotifyClient(temp); return(Ok()); }
public async Task NotifyClient(TemperatureEvent Event) { string command = ""; EventCommand eventCommand = new EventCommand(); eventCommand.TemperatureEvent = Event; eventCommand.ActuationCommand = new ActuationCommand(); if (Event.EventType == EventType.TempDropAlert || Event.EventType == EventType.TempRiseAlert) { string loc = _unitOfWork.LocationParam + "='" + (Event.DataInfluenced == DataInfluenced.RoadTemperature ? "road" : "air") + "'"; string type = _unitOfWork.EventParam + "='" + (Event.EventType == EventType.TempRiseAlert ? "sudden temperature rise" : "sudden temperature fall") + "'"; command = _unitOfWork.DiagnosticsEndpoint + "?" + loc + "&" + type; eventCommand.ActuationCommand.Command = _unitOfWork.DiagnosticsEndpoint; eventCommand.ActuationCommand.AdditionalArguments.Add(loc); eventCommand.ActuationCommand.AdditionalArguments.Add(type); } else if (Event.DataInfluenced == DataInfluenced.AirTemperature) { if (Event.EventType == EventType.TempNormalized) { command = _unitOfWork.TempNormalizationEndpoint; eventCommand.ActuationCommand.Command = _unitOfWork.TempNormalizationEndpoint; } else if (Event.EventType == EventType.ColdAlert) { string temp = _unitOfWork.TempParam + "=" + (20 - Event.Value); command = _unitOfWork.HeatingEndpoint + "?" + temp; eventCommand.ActuationCommand.Command = _unitOfWork.HeatingEndpoint; eventCommand.ActuationCommand.AdditionalArguments.Add(temp); } else if (Event.EventType == EventType.HotAlert) { string temp = _unitOfWork.TempParam + "=" + ((70 - Event.Value) / 2f); command = _unitOfWork.CoolingEndpoint + "?" + temp; eventCommand.ActuationCommand.Command = _unitOfWork.CoolingEndpoint; eventCommand.ActuationCommand.AdditionalArguments.Add(temp); } } else { string psi = _unitOfWork.PressureParam + "=" + (Event.EventType == EventType.ColdAlert ? 40 : Event.EventType == EventType.HotAlert ? 32 : 36); command = _unitOfWork.TirePressureEndpoint + "?" + psi; eventCommand.ActuationCommand.Command = _unitOfWork.TirePressureEndpoint; eventCommand.ActuationCommand.AdditionalArguments.Add(psi); } string clientLoc = _unitOfWork.GetClientLocation(Event.StationName); if (clientLoc is not null) { await sendCommand(clientLoc + command); } _cassandraService.InsertData(eventCommand); _messageService.Enqueue(eventCommand); }
public void EnqueueOutput(TemperatureEvent data) { string body = JsonSerializer.Serialize(data); _unitOfWork.RabbitMQOutputChannel.BasicPublish(exchange: "", routingKey: _unitOfWork.RabbitMQOutputQueue, mandatory: true, basicProperties: null, body: Encoding.UTF8.GetBytes(body)); }
public void StartTemperatureEvent(WorldTempChangeType type, TemperatureEvent evt, int cooldown) { changeType = type; tempEvent = evt; if (cooldown > 0) { cdDuration = cooldown; onCd = true; } Debug.Log("starting"); }
public void Consume() { var Consumer = new EventingBasicConsumer(_unitOfWork.RabbitMQChannel); Consumer.Received += (model, ea) => { var body = ea.Body; var message = Encoding.UTF8.GetString(body.ToArray()); TemperatureEvent data = (TemperatureEvent)JsonSerializer.Deserialize(message, typeof(TemperatureEvent)); _notifyService.NotifyClient(data); }; _unitOfWork.RabbitMQChannel.BasicConsume(queue: _unitOfWork.RabbitMQQueue, autoAck: true, consumer: Consumer); }
private async void BroadcastTelemetry(object sender, object args) { double temp = tempVals.Average(); TemperatureEvent te = new TemperatureEvent(); te.Location = this.Location; te.DeviceId = this.DeviceId; te.Temperature = (float)temp; te.CollectionTime = DateTime.UtcNow; var text = te.ToString(); var msg = new Message(Encoding.UTF8.GetBytes(text)); try { await deviceClient.SendEventAsync(msg); } catch (Exception e) { } }
static void Main(string[] args) { var controller = new HeatingController(); using (var termo = new Termometer(PollInterval)) { var onEvent = new TemperatureEvent(termo, 3, 15, false); var offEvent = new TemperatureEvent(termo, 3, 15, true); var strategy = new HeatingStrategy(controller, onEvent, offEvent); //strategy.Start(); termo.Start(); //strategy.Stop(); Console.ReadKey(); } Console.WriteLine("Press any key.."); Console.ReadKey(); }