from typing import OrderedDict


def process_condition(row):
    """
    row: a string of the form 'a=b;c=d;...' where each RHS can be converted to float.
    Returns: a dictionary derived from row, plus the key 'Device' with value device.
    """
    d = OrderedDict()
    if "=" not in row:
        return d
    conditions = row.split(";")
    for cond in conditions:
        els = cond.split("=")
        d[els[0]] = float(els[1])
    return d