from dataclasses import dataclass
from datetime import datetime

@dataclass
class PlantState:
  timestamp: datetime
  source: str

  ejector_move_down: int
  ejector_move_up: int
  carriage_move_out: int
  carriage_move_in: int
  side_clamps_open: int
  side_clamps_close: int
  table_move_down: int
  table_move_up: int
  gassing_platemove_out: int
  gassing_plate_move_in: int
  cope_eject_plate_move_out: int
  cope_eject_plate_move_in: int
  top_part_move_up: int
  top_part_move_down: int
  front_door_open: int
  front_door_close: int
  pneumatic_loose_part_1_move_out: int
  pneumatic_loose_part_1_move_in: int
  hydraulic_loose_part_2_move_out: int
  hydraulic_loose_part_2_move_in: int
  hydraulic_loose_part_3_move_out: int
  hydraulic_loose_part_3_move_in: int
  clamping_device_side_clamp_left_clamp: int
  clamping_device_side_clamp_left_loose: int
  clamping_device_side_clamp_right_clamp: int
  clamping_device_side_clamp_right_loose: int
  clamping_device_shoot_plate_clamp: int
  clamping_device_shoot_plate_loose: int
  sand_refill: int
  sand_gate_close: int
  sand_gate_open: int
  shoot: int
  clamping_device_gassing_plate_clamp: int
  central_amine_supply_refill: int
  gassing: int
  gas_generator_process_coldbox_betaset: int
  mixer_lid_move_up: int
  mixer_lid_move_down: int
  mixer_wing_motor_on: int
  mixer_move_up: int
  mixer_move_down: int
  sand_dosing_unit_inlet: int
  sand_dosing_unit_outlet: int
  binder_1_sucking: int
  binder_1_blowing: int
  binder_2_suction: int
  binder_2_blowing: int
  binder_3_sucking: int
  binder_3_blowing: int
  binder_4_sucking: int
  binder_4_blowing: int
  additive_1_dosing: int
  additive_2_dosing: int
  mixer_bowl_direction_eject_1_machine: int
  mixer_bowl_direction_eject_2_scrap: int
  cleaning_cylinder_move_up: int
  cleaning_cylinder_move_down: int
  mixer_sand_slide_move_to_machine: int
  mixer_sand_slide_move_to_scrap: int
  vertical_mixersand_slide_gateclose: int
  vertical_mixer_sand_slide_gate_open: int
  sand_sender: int


  series = "plant"