def api_add_relay():
    relayStr = request.form['data']
    print(relayStr)

    relay = Relays.add(relayStr)
    socketio.emit('updated_relays_status', Relays.get_relays_raw())
    return make_response(relay.to_JSON(), 200)
def api_get_initValue(relay_id):
    if not Relays.is_valid_relayId(relay_id):
        return make_response(get_message("Invalid ID: " + str(relay_id)), 404)
    relay = Relays.get_relay(relay_id)
    if request.method == 'POST':
        print(request.form['data'])
        relay.set_initValue(json.loads(request.form['data']))
        socketio.emit('updated_relays_status', Relays.get_relays_raw())
    return make_response(json.dumps(relay.get_initValue()), 200)
def api_delete_relay(relay_id):
    if not Relays.is_valid_relayId(relay_id):
        return make_response(get_message("Invalid ID: " + str(relay_id)), 404)
    Relays.delete(relay_id)
    socketio.emit('updated_relays_status', Relays.get_relays_raw())
    return make_response("", 200)
def api_all_relay_toggle():
    Relays.toggle()
    socketio.emit('updated_relays_status', Relays.get_relays_raw())
    return make_response(get_message("ALL Toggled OK"), 200)
def api_all_relay_off():
    Relays.off()
    socketio.emit('updated_relays_status', Relays.get_relays_raw())
    return make_response(get_message("ALL Turned ON OK"), 200)
def api_relay_all_status():
    status = Relays.get_relays_raw()
    return make_response(json.dumps(status), 200)
def api_relay_off(relay_id):
    if not Relays.is_valid_relayId(relay_id):
        return make_response(get_message("Invalid ID: " + str(relay_id)), 404)
    Relays.get_relay_byId(relay_id).off()
    socketio.emit('updated_relays_status', Relays.get_relays_raw())
    return make_response(get_message("Turned OFF OK"), 200)